我的环境是:MacOSX 10.8.3、PHP 5.3.17、ImageMagick 6.8.0、Apache 2.2.22
我已经使用 macports 安装了 ImageMagick 和 PHP-Imagick 模块。
ImageMagick 按预期工作,例如我可以使用控制台命令将 JPG 转换为 GIF convert /my-path/file.jpg file.gif
。
但是,当我使用如下示例代码创建一个新的 Imagick 实例时:
<?php
$m = new Imagick('/my-path/file.jpg');
我得到了例外:
NoDecodeDelegateForThisImageFormat `/my-path/file.jpg' @error/constitute.c/ReadImage/550
文件的格式不会改变结果;我测试了不同的 JPG、GIF 和 PNG 图像,但是发生了同样的异常。
所以我怀疑,PHP/Apache - ImageMagick 集成部分有些错误。
我在 SO 上看到了这篇文章并应用了给定的分辨率(添加环境变量“MAGICKCODERMODULE_PATH”和值“/opt/local/lib/ImageMagick-6.8.0/modules-Q16/coders”)但这没有意义对于我的情况。(我从我的 phpinfo 确认了这个环境变量的存在)
我系统上一些命令的输出:
- 识别列表格式: http: //pastebin.com/tiE7Jr1m
- 识别-列表配置: http: //pastebin.com/Zt8yiRhj
我将不胜感激任何建议。