神不在的星期二
最终,我最终写了一个博客文章,该文章是PhilipD删除的帖子的重新发布,该帖子以错误的格式发布且未得到更正。所以问题被删除了。我在这里重新发布PhilipD的答案,这样可以使遇到相同问题的人更容易找到它,因为花了半天的时间才找到有效的博客文章。这些步骤详细介绍了32位安装。我为我的64位php执行了64位安装。该服务器位于Windows Server 2012R2(64位)服务器上,使用IIS作为Web服务器应用程序。但是,我安装了所有与ImageMagick相关的软件的32位版本,因为Web服务器应用程序(IIS)是32位的。以下显示了截至2017年10月的最新/最新版本。1.下载ImageMagick安装程序前往http://www.imagemagick.org/点击菜单栏中的“下载”然后,顶部链接中的“ Windows Binary Releases ”或向下滚动选择“ Win32动态像素每像素16位”,请确保选择动态组件而不是静态组件。2.下载用于ImageMagick的php模块转到http://windows.php.net/downloads/pecl/releases/imagick/选择不是“ RC”(发行候选)版本的最高版本–当前为3.4.3选择用于VC14,x86和IIS的“ NTS”(非线程安全)的PHP(7.1)版本的条目下载并保存ZIP文件。3.下载PHP的依赖包,以加载/使用ImageMagick转到http://windows.php.net/downloads/pecl/deps/选择具有最高版本号的“ ImageMagick”程序包*请注意,该版本可能与上述(1.)中的版本不同选择“ vc14”和“ x86”版本*4.取消阻止每个下载的文件根据下载方式的不同,这可能有必要,也可能没有必要,但是如果需要,应始终检查并“取消阻止”下载的文件。右键单击每个文件,然后从弹出菜单中选择“属性”如果属性对话框显示文本“此文件来自另一台计算机,可能被阻止以帮助保护此计算机”,点击“取消阻止”按钮单击确定。如果您不“取消阻止”下载的文件,尤其是ZIP文件,则仍可以将已安装或复制的单个文件标记为“阻止”,这有时会在运行软件时引起一些奇怪的问题。5.安装Imagick应用程序运行ImageMagick-7.0.7-8-Q16-x86-dll.exe进行安装接受许可协议在安装过程中的每个屏幕上接受默认设置。安装完成后,要测试安装是否成功,请打开命令提示符并运行以下两个命令:magick wizard: wizard.jpg
magick wizard.jpg win:这将显示一个“ IMDisplay”窗口,该窗口显示在画架上创建蒙娜丽莎肖像的向导的素描/图像。6.安装依赖项解压缩您在步骤3中下载的文件。进入bin目录将IM_MOD_RL_*.dll文件(125个文件)复制到ImageMagick的已安装版本的文件夹中,例如C:\Program Files (x86)\ImageMagick-7.0.7-Q16返回到bin目录将CORE_RL_*.dll文件(20个文件)复制到ImageMagick的已安装版本的文件夹中,例如C:\Program Files (x86)\ImageMagick-7.0.7-Q16* *在提示您要覆盖/重命名的情况下,选择“覆盖”请注意,这将破坏Imagick的命令版本。magick:错误的JPEG库版本:库为80,呼叫者期望为627.安装Imagick php扩展dll解压在步骤2中下载的文件。将文件复制php_imagick.dll到服务器上已安装版本的PHP的“ ext”文件夹中,例如C:\php\7.1\ext。不要复制CORE_RL_ *文件在Web上的某些文章中,您将看到也从该工具包复制CORE_RL_ *文件以替换ImageMagick文件夹中的文件的说明,但这是不正确的。在步骤6中复制了这些文件的适当版本。8.修改PHP.ini编辑PHP软件文件夹中的php.ini文件,例如“ C:\ PHP \ 7.1 \ php.ini”将以下行添加到包含其他扩展名的部分: extension=php_imagick.dll9.重新启动服务器。重新启动IIS似乎还不够,您需要重新启动整个计算机。这可能与IIS无法识别Imagick输入的PATH条目有关。10.测试PHPINFO在Web根目录中创建一个PHP文件,其中包含以下内容:在网络浏览器中访问此文件,搜索现在应该存在于PHPINFO输出中的“ Imagick”部分。它应如下所示:imagick imagick模块:启用了imagick模块版本3.4.3imagick类Imagick,ImagickDraw,ImagickPixel,ImagickPixelIterator,ImagickKernelImagick使用ImageMagick版本ImageMagick编译的版本6.9.3-7 Q16 x86 2016-03-27 http://www.imagemagick.orgImagick使用ImageMagick库版本ImageMagick 6.9.3-7 Q16 x86 2016-03-27 http://www.imagemagick.orgImageMagick版权所有(C)1999-2015 ImageMagick Studio LLCImageMagick发布日期2016-03-27ImageMagick支持的数量格式:216ImageMagick支持的格式3FR,AAI,AI,ART,ARW,AVI,AVS,BGR,BGRA,BGRO,BIE,BMP,BMP2,BMP3,BRF,CAL,CALS,CANVAS,CAPTION,CIN,CIP,CLIP,CLIPBOARD,CMYK ,CMYKA,CR2,CRW,CUR,剪切,数据,DCM,DCR,DCX,DDS,DFONT,DJVU,DNG,DOT,DPS,DPX,DXT1,DXT5,EMF,EPDF,EPI,EPS,EPS2,EPS3,EPSF ,EPSI,EPT,EPT2,EPT3,ERF,EXR,传真,FITS,FPX,分形,FTS,G3,GIF,GIF87,梯度,灰色,GROUP4,GV,H,HALD,HDR,直方图,HRZ,HTM,HTML ,ICB,ICO,ICON,IIQ,INFO,INLINE,IPL,ISOBRL,ISOBRL6,J2C,J2K,JBG,JBIG,JNX,JP2,JPC,JPM,JPT,JSON,K25,KDC,LABEL,M2V,M4V,MAC ,MAGICK,MAP,MASK,MAT,MATTE,MEF,MIFF,MKV,MONO,MOV,MP4,MPC,MPEG,MPG,MRW,MSL,MTV,MVG,NEF,NRW,NULL,ORF,OTB,OTF,PAL ,PALM,PAM,PATTERN,PBM,PCD,PCDS,PCL,PCT,PCX,PDB,PDF,PDFA,PEF,PES,PFA,PFB,PFM,PGM,PICON,PICT,PIX,PLASMA,PNM,PPM,预览,PS,PS2,PS3,PSB,PSD,PTIF,PWP,径向梯度,RAF,RAS,RAW,RGB,RGBA,RGBO,RGF,RLA,RLE,RMF,RW2,SCR,SCREENSHOT,SCT, SFW,SGI,SHTML,SIX,SIXEL,稀疏颜色,SR2,SRF,STEGANO,SUN,TEXT,TGA,THUMBNAIL,TIFF,TIFF64,TILE,TIM,TTC,TTF,TXT,UBT,UBRL6,UIL,UYVY, VDA,VICAR,VID,VIFF,VIPS,VST,WBMP,WEBP,WMF,WMV,WPG,X3F,XBM,XC,XCF,XPM,XPS,XV,YCbCr,YCbCrA,YUV重要说明:如果“受支持的格式”部分未显示任何格式,或仅显示了少量格式,则最可能的原因是您错过了将一个或多个IM_MOD_RL_ *或CORE_RL_ * DLL文件复制到ImageMagick文件夹中的操作,或者您从“ php_magick”工具包中复制了它们。11.在PHP中使用ImageMagick测试图像生成在Web根目录中创建一个PHP文件,其中包含以下内容(我从“验证ImageMagick安装”此项中的一项输入中复制了该文件):<?phperror_reporting(E_ALL); ini_set( 'display_errors','1');/* Create a new imagick object */$im = new Imagick();/* Create new image. This will be used as fill pattern */$im->newPseudoImage(50, 50, "gradient:red-black");/* Create imagickdraw object */$draw = new ImagickDraw();/* Start a new pattern called "gradient" */$draw->pushPattern('gradient', 0, 0, 50, 50);/* Composite the gradient on the pattern */$draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);/* Close the pattern */$draw->popPattern();/* Use the pattern called "gradient" as the fill */$draw->setFillPatternURL('#gradient');/* Set font size to 52 */$draw->setFontSize(52);/* Annotate some text */$draw->annotation(20, 50, "Hello World!");/* Create a new canvas object and a white image */$canvas = new Imagick();$canvas->newImage(350, 70, "white");/* Draw the ImagickDraw on to the canvas */$canvas->drawImage($draw);/* 1px black border around the image */$canvas->borderImage('black', 1, 1);/* Set the format to PNG */$canvas->setImageFormat('png');/* Output the image */header("Content-Type: image/png");echo $canvas;?>在浏览器中运行此PHP文件。它应该显示一个包含文本“ Hello World!”的图像。12.检查错误检查php-errors.log文件是否有任何错误。您可以在php.ini文件中找到php-errors.log文件的定义位置。检查此文件中是否有与ImageMagick安装相关的最新错误。PDF文件需要Ghostscript安装并完成上述所有操作后,ImageMagick可以在PHP中用于转换图像,但不能用于将PDF文件转换为图像。对于最后一步,似乎也有必要从https://www.ghostscript.com/download/gsdnld.html安装Ghostscript,并且只有在我安装了64位版本的Ghostscript的情况下,它才能正常工作(即使一切否则我安装的是32位版本)。仅需安装Ghostscript。无需更改php.ini或任何其他配置。