wamp环境下安装imagick扩展

先上图,如下是安装成功后的phpinfo()界面:

wamp环境下安装imagick扩展

 

wamp环境下安装imagick扩展

安装步骤:

1、先确定安装版本,比如我的的php : php7.0.12  x86 ts

    那么就需要三方版本 要一致:imagick软件本身( 如x86 )、php本身( x86 ts (thread safe) )、php扩展php_imagick.dll (ts) 

2、需要下载2个软件: imagick软件本身、php扩展php_imagick.dll扩展包:

  imagick软件本身:  http://imagemagick.org/script/binary-releases.php#windows

  因为最新版本的 php_imagick.dll (最新版本3.4.3  2017.02.01)
     只支持到  ImageMagick 6.9.3 
     所以,我更换为  ImageMagick 6.8.9-6 Q16 x86.exe (自行百度相关版本)

  php扩展php_imagick.dll扩展包http://pecl.php.net/package/imagick/

  我选择的是: PHP 7.0 :7.0 Thread Safe (TS) x86

3、.安装imagick软件和配置

    安装imagick软件本身,一直下一步即可;(最后一步要勾选上添加环境变量,否则安装好之后要自己将安装目录添加到系统环境变量中去)

    安装php扩展插件:php_imagick.dll  ,同其他php dll插件一样。 
     ①从php扩展压缩包中将php_imagick.dll 拖到/php/ext 目录下,

     ②在php.ini开启插件 extension=php_imagick.dll ,

     ③从扩展压缩包中将多个  CORE_RL_*.dll 文件拖到 /php/ 目录下

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.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软件版本。

以上内容大部分参考http://www.cnblogs.com/wangqishu/p/5609950.html


 

我的环境是wamp,参照以上步骤安装好之后发现,在cmd运行:  php --ri imagick中可以看到imagick扩展,但是在phpinfo()下看不到imagick扩展,首先想到是phpinfo()中加载的php.ini文件和cmd命令加载的php.ini文件不是同一个,在phpinfo中查看php.ini文件路径是下面这个(在apache/bin目录下),而cmd命令加载的是php目录下php.ini文件

wamp环境下安装imagick扩展

然后我将php目录下php.ini文件覆盖apache\apache2.4.9\bin\php.ini文件

但是此操作还是不能在phpinfo看到imagick扩展

最后一步,将php扩展压缩包里的 CORE 开头的 dll 文件要放到 Apache/bin 目录下

总结:通常开发环境下,按照分割线上的步骤是能安装好imagick扩展的,但是wamp集成环境比较特殊,需要apache/bin目录中php.ini文件和php目录中php.ini文件一样,另外要将php扩展压缩包里的 CORE 开头的 dll 文件要放到 Apache/bin 目录下

====================================================

以上是转载自其他博客,这里还有一点要说明的bug

我安装了新版本的wamp3.1.3 PHP7多版本,运行php --ri imagick报错:计算机丢失php7.dll是因为imagemagick下载的版本和php7的版本对不上,换一个低一点的版本或者其他版本,就可以使用了。

开始下载的扩展包是 php_imagick-3.4.3-7.0-ts-vc14-x64 选择的最新的第一个,不能运行,

然后尝试更换到低版本 php_imagick-3.4.3rc4-7.0-ts-vc14-x64 可以运行了

补充:ImageMagick-6.9.2-1-Q16-x64-dll.exe需要6.9.3以下的版本,6.9.3以上的版本暂不支持