windows7下   php5.4成功安装imageMagick 。    

(phpinfo中显示不出来是因为:1.软件本身、php本身、php扩展三方版本要一致,2.需要把CORE_RL_*.dll多个文件放到/php/目录下面)

                                                                                                     (作者:王奇疏 http://www.cnblogs.com/wangqishu/p/5609950.html

 
楼主需要用php处理一些特别的图片事宜,所以安装了iMagick for php来编写程序。

 

先看一下,这是我在windwos7安装成功的 imageMagick for php 的phpinfo()截图

 

   和调用imagick插件 的 php程序执行成功 截图

 

安装步骤:

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扩展包:
   

   
    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, 这步主要用来定位imagemagickmodule,很重要。( 否则支持的图片格式数量默认为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软件版本。 

posted on 2016-06-23 11:04  王奇疏  阅读(9260)  评论(1编辑  收藏  举报