windows7下 php5.4成功安装imageMagick 。 php
(phpinfo中显示不出来是由于:1.软件自己、php自己、php扩展三方版本要一致,2.须要把CORE_RL_*.dll多个文件放到/php/目录下面)html
(做者:王奇疏 http://www.cnblogs.com/wangqishu/p/5609950.html )apache
楼主须要用php处理一些特别的图片事宜,因此安装了iMagick for php来编写程序。windows
先看一下,这是我在windwos7安装成功的 imageMagick for php 的phpinfo()截图:测试
和调用imagick插件 的 php程序执行成功 截图:spa
安装步骤:.net
1). 先肯定你使用的php版本状况,好比王奇疏的pc是win7的php : php5.4 x86 ts插件
那么就须要三方版本 要一致:imagick软件自己( 如x86 )、php自己( x86 ts (thread safe) )、php扩展php_imagick.dll (ts) 。命令行
2).在已经安装了php的状况下,须要下载2个软件: imagick软件自己、php扩展php_imagick.dll扩展包:
3d
imagick软件自己: http://imagemagick.org/script/binary-releases.php#windows
楼主选择的是:ImageMagick-6.8.9-6-Q16-x86-dll.exe 百度盘下载 运行安装便可。
(
由于最新版本的 php_imagick.dll (最新版本3.4.2 2016.06.22)
只支持到 ImageMagick 6.8.9 (2014-05-08)
因此,楼主已更换为 ImageMagick 6.8.9-1 Q16 x86.exe 楼主提供了1个百度盘下载地址,x64或其它版本请自行搜索摸索。
(by 王奇疏) 。
这是exe二进制安装包,若是你是x64位的请自行搜索这个版本的下载,或者你换了别的版本的请自行摸索测试。 若是你下载的是stable便携包至关于绿色版,那么须要本身把 文件路径 放到系统的环境变量。
)
php扩展php_imagick.dll扩展包:http://pecl.php.net/package/imagick/
楼主选择的是:http://pecl.php.net/package/imagick/3.4.2/windows
PHP 5.4 :5.4 Thread Safe (TS) x86
3).安装软件和配置
安装imagick软件自己,一直下一步便可;
安装php扩展插件:php_imagick.dll ,同其余php dll插件同样。
①.从php扩展压缩包中将php_imagick.dll 拖到/php/ext 目录下,
②.在php.ini开启插件 extension=php_imagick.dll ,
③. 从扩展压缩包中将多个 CORE_RL_*.dll 文件拖到 /php/ 目录下(不然重启apache或者 命令行 php -ri imagick 调试时报错找不到*.dll )
4. 重启Apache,查看 phpinfo() 中是否有 Imagick 项,若是有说明安装成功。
5. 须要另外 新建一个系统环境变量名为MAGICK_HOME,值为E:\你的imagick路径\modules\coders, 这步主要用来定位imagemagick的module,很重要。( 不然支持的图片格式数量默认为0, 没法处理图片。 ImageMagick number of supported formats: => 0 )
若是没有Imagick 项,请 使用 php扩展调试命令 来检查扩展中存在的问题, 并确保三方软件版本一致便可。
php扩展 调试命令:
在cmd运行: php --ri imagick
1. 若是报错是:“php_imagick.dll' - %1 不是有效的 Win32 应用程序” ,则说明版本不相符合。 须要检查 imagick软件自己( 如x86 )、php自己( x86 ts (thread safe) )、php扩展php_imagick.dll (ts) 三方版本 要一致。
2. 若是报错是:“php.exe - 系统错误 ,没法启动此程序由于计算机丢失CORE_RL_wand_.dll ” , 说明你没有将 php_imagick-3.3.0-5.4-ts-vc9-x86.zip 扩展包中的“CORE_*.dll” 这些dll文件 放到 你的php.exe同级目录下。 ,只须要拷贝 CORE_*.dll 到php目录就能够解决了。
3. 若是php --ri imagick 显示的结果 ImageMagick number of supported formats: => 0 支持的图片格式数量为0,请看第5步须要新建一个环境变量。
4.若是php代码执行调用时报错:“ NoDecodeDelegateForThisImageFormat ”,代表你的php_imagick.dll的版本 并不支持或并不匹配 ImageMagick软件版本,这时候 php --ri imagick 的结果也显示为: ImageMagick number of supported formats => 0 。须要更换ImageMagick软件版本。