首页 > ImageMagicK > mac os lion php 调用imagemagick命令失败

mac os lion php 调用imagemagick命令失败

2013年7月9日 发表评论 阅读评论

环境为Mac OS lion,在php中使用exec调用外部imagemagick命令进行图片处理,图片没有被处理,查看命令返回的状态码为5,没有任何提示,相同的命令在命令行中可以正常执行。为了获取具体的错误信息还花费了一番力气,关于获取错误输出可以参考:PHP 执行外部命名获取出错信息
上述错误信息为:

dyld: Library not loaded: /ImageMagick-6.7.5/lib/libMagickCore.5.dylib
  Referenced from: /usr/bin/convert

从错误信息可以得知命令没有加载到Library,从Imagemagick官网看到Mac OS下安装需要配置DYLD_LIBRARY_PATH,它的路径就是Imagemagick安装路径下的lib目录。由于在/etc/bashrc中配置了,所以命令行下执行是正常的。通过web方式执行php环境不一样,没有加载DYLD_LIBRARY_PATH配置,因此导致执行出错。有了错误信息,也知道错误的原因,解决起来就很简单了,只需要在执行命令的前面添加DYLD_LIBRARY_PATH配置即可。例如:

$cmd = 'export DYLD_LIBRARY_PATH="/{imagemagick install home}/lib/" && ';
$cmd .= 'convert -resize 120x60 src.jpg desc.jpg';
exec($cmd);


欢迎转载,转载请注明文章出处,谢谢!
垃圾有点差凑合看还不错很精彩 (1 人打了份: 平均分:2.00)
Loading...Loading...
分类: ImageMagicK 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

无觅相关文章插件,快速提升流量