显示是加载成功,但是在打开图片的时候提示 :
PHP Fatal error: Uncaught exception 'ImagickException' with message 'NoDecodeDelegateForThisImageFormat `PNG' @ error/constitute.c/ReadImage/501' in D:\bxWebServer\x64\Apache24-X64\htdocs\weixin-node\ceshi1.php:4Stack trace:#0 D:\bxWebServer\x64\Apache24-X64\htdocs\weixin-node\ceshi1.php(4): Imagick->readimage('D:\\bxWebServer\\...')#1 {main} thrown in D:\bxWebServer\x64\Apache24-X64\htdocs\weixin-node\ceshi1.php on line 4
环境是:(奇怪的是我使用的PHP5.6.3,但是这里显示是5.6.2)php-5.6.3-Win32-VC11-x64
imagick程序版本: ImageMagick-6.9.0-0-Q16-x64-dll
imagick扩展版本: php_imagick-3.2.0b2-5.6-ts-vc11-x64
按提示是找不到图片解析库,但是windows下怎么弄 ?我下载的官方的php扩展库,已经编译好的.Imagick扩展属性里面显示支持的文件格式是空的为什么 ?
但是我在PHP CLI模式下查看模块配置:
php --ri imagick 返回的数据如下:
php_imagick-3.2.0b2-5.6-ts-vc11-x64 这个扩展是线程安全的,你的php是线程安全的吗?二者要一致本回答被网友采纳
是的, 环境都是自己手动配置的.
追答你就用你配置的php看环境,应该能看到,执行文件也用那个环境。最好装一个环境,容易引起混淆。
追问这个 已经 解决了, imagick 使用的VC9 编译的, PHP用的VC11, Apache 也是VC11, 结果那些格式支持库是VC9的没办法使用。这个问题没在IIS下验证还不知道。
使用 VC9 的Apache , PHP 和imagick就可以了, 还特意编译了一个VC9旧版本的imagick,才解决。打算重新编译一个 VC11的imagick 。