Windows php5.6配置imagick 基于Apache/IIS

安装Imagick确实是很恼火的事情,网上的讨论一大堆,中文英文都有,我也在这里卡了好久,此次基本上算是弄明白了,记录一下。php

Imagick有点像MySQL的安装方式同样,首先服务器须要安装MySQL Server,而后php须要安装mysql扩展,经过扩展提供的api(诸如mysql_connect这些方法)去调用执行mysql。mysql

1. 个人环境
Win7 + Apache2.4 + php5.6.28
WinServer 2012 + IIS8.5 + php5.6.28
 sql

2. 先要去官方下载最新版Imagick
https://www.imagemagick.org/
1. 虽然官方建议首选x64,不过我仍是选的x86,由于个人php用的是x86(php, Imagick版本一致总不会出错,虽然个人windows系统是64位)。
2. Q8和Q16的区别官方写得很清楚了,所以我最终选择的是 ImageMagick-7.0.4-0-Q16-x86-dll.exe
3. 紧接着是安装,选择将Imagick加入环境变量,接着下一步直至完成。这一步很重要!
4. 安装完成的目录为C:\ImageMagick-6.9.7-Q16\  固然这只是为了便于后面的说明,实际状况能够安装在任何目录下windows

 

3. 去官方下载php的Imagick扩展
https://pecl.php.net/package/imagick
1. 网上建议选择非RC的stable版本
2. Apache使用TS版本(就算php是NTS),IIS则使用NTS版本。缘由我还没搞明白。
3. 最终我选择的是 php_imagick-3.4.1-5.6-ts-vc11-x86.zip
4. 下载解压,须要作2件事
    1. 将压缩包里的php_imagick.dll拷贝到php extension目录,并修改php.ini   api

extension=php_imagick.dll

    2. 将压缩包里CORE_RL_*.dll的文件(个人版本一共8个)拷贝至Imagick的安装目录下(C:\ImageMagick-6.9.7-Q16\),建议在替换以前先备份
5. 重启服务器,Apache不建议使用restart,使用stop+start才会生效。IIS我试着重启好像也没效果,所以直接重启的系统。服务器

 

此时一般来讲使用phpinfo能够查看到imagick已经安装成功了。甚至能够直接使用了。不过运气很差也会遇到不少坑。网站

 

4. 可能须要调整Imagick版本
经过phpinfo能够看到一条信息Imagick compiled with ImageMagick version,若是你在step2安装的版本和这个版本出入很大,就颇有可能致使ImageMagick supported formats为no value。我就是遇到了这个问题 :
Imagick compiled with ImageMagick version:6.9.3-7
我安装的Imagick为:7.0.4-0
此时须要从新下载相应版本的Imagck,重复step1的安装步骤,还记得step2替换那8个dll文件spa

 

5. ImageMagick supported formats:no value
有可能仍然为no value,此次应该不是版本的问题了,须要新建一个系统环境变量
MAGICK_HOME=C:\ImageMagick-6.9.7-Q16\modules\coders
重启服务器,我所遇到的问题就解决了.net

 

6. 查阅的一些网站
http://stackoverflow.com/questions/15279301/imagemagick-supported-formats-no-value
http://stackoverflow.com/questions/2858439/installing-imagemagick-extension-with-php-windows
http://hexydec.com/blog/how-to-get-imagemagick-working/rest

相关文章
相关标签/搜索