如何使用Wampserver 3.0.0 64安装ImageMagick?

时间:2016-06-20 16:29:08

标签: php imagemagick wampserver

我失去了一天试图弄清楚这一点,在不同的时间获得"没有解码代表这种图像格式"和"找不到指定的模块"错误。我可以在这些问题上找到的信息是在版本号方面的日期,许多包括从PECL发行版覆盖ImageMagick安装的dll或将dll复制到windows / system32中的说明;我不想做的两件事。

环境:Windows 10
Wampserver:3.0.0,Apache / 2.4.17(Win64)PHP / 5.6.16

2 个答案:

答案 0 :(得分:12)

  1. 已下载并安装了最新的ImageMagick:ImageMagick-7.0.2-0-Q16-x64-dll.exe

  2. http://windows.php.net/downloads/pecl/releases/imagick/3.4.3rc1/下载php_imagick-3.4.3rc1-5.6-ts-vc11-x64

  3. 将php_imagick.dll解压缩到[wampserver目录] \ bin \ php \ php5.6.16 \ ext

  4. 将extension = php_imagick.dll添加到[wampserver目录] \ bin \ apache \ apache2.4.17 \ bin \ php.ini

  5. 得到“此图像格式没有解码委托”错误,但至少想象力出现在phpinfo()中,我可以看到php_imagick.dll是用ImageMagick 6.9.3-7 Q16 x64编译的。事先没有明显的方法知道这一点。

  6. http://ftp.icm.edu.pl/packages/ImageMagick/binaries/下载了ImageMagick-6.9.3-7-Q16-x64-dll.exe(ImageMagick已将此软件包从其网站中删除)。

  7. 卸载ImageMagick-7.0.2-0-Q16-x64,将ImageMagick-6.9.3-7-Q16-x64安装到c:\ ImageMagick,将c:\ ImageMagick添加到PATH(在前面,以避免与windows convert.exe碰撞)。

  8. 验证了一切正常:

    $image = new Imagick();
    $image->readImage([path to my jpeg]);
    
    $wm = new Imagick();
    $wm->readImage([path to my watermark png]);
    
    $image->compositeImage($wm, imagick::COMPOSITE_OVER, 5, 5);
    
    header("Content-Type: image/jpeg");
    echo $image;
    

答案 1 :(得分:0)

我尝试了很多事情。达到目的的方法是在活动的php.ini行末添加:

[ImageMagick]
extension="C:\WampDeveloper\Components\Php\ext\php_imagick\php_imagick.dll"
;imagick.locale_fix=0
;imagick.progress_monitor=0

信用: http://www.devside.net/wamp-server/installing-and-using-imagemagick-with-imagick-php-extension-php_imagick-dll-on-wamp