ImageMagick在命令行中工作但是当php中的exec()它返回5时出现"不兼容的库版本"

Leo*_*Teo 8 php imagemagick macports

我在OS X上使用MAMP(以及Macports也是我试过的两个)的php 5.3.6和ImageMagick(命令行)有一个奇怪的问题.

当我从CLI运行identify命令时,它工作正常.但是当我使用完全相同的命令时exec(),它会返回一个值代码,5并且在我有的apache错误日志中:

dyld:未加载库:/opt/local/lib/libfreetype.6.dylib
引用自:/ opt/local/bin/identify原因:不兼容的库版本:标识需要版本14.0.0或更高版本,但libfreetype.6.dylib提供版本13.0.0

例如,cli命令是: /opt/local/bin/identify /Users/leonardteo/Documents/1.jpg

从命令行执行时,这很好用.从PHP执行时:

exec("/opt/local/bin/identify /Users/leonardteo/Documents/1.jpg", $output, $return);

$return5

$output 没什么

检查apache日志会给出libfreetype的上述问题.

我使用Macports安装了ImageMagick.我也尝试过从源代码手动构建并运行识别/usr/local/bin/identify,我得到了相同的结果.我也试过从Macports而不是MAMP运行PHP,我得到了相同的结果.

有人可以帮忙解释一下吗?

Leo*_*Teo 18

编辑此文件:

/应用/甲基苯丙胺/库/斌/ envvars中

注释掉以下几行:

DYLD_LIBRARY_PATH = "/应用程序/ MAMP /库/ lib目录下:$ DYLD_LIBRARY_PATH"

导出DYLD_LIBRARY_PATH