我在 OS X 上使用 MAMP(以及 Macports )的 php 5.3.6 和 ImageMagick(命令行)遇到了一个奇怪的问题。
当我从 CLI 运行识别命令时,它工作正常。但是当我使用运行完全相同的命令时exec()
,它返回一个值代码5
在 apache 错误日志中我有:
dyld:未加载库:/opt/local/lib/libfreetype.6.dylib
引用自:/opt/local/bin/identify 原因:不兼容
库版本: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);
$return
is 5
$output
没什么
检查 apache 日志会发现 libfreetype 存在上述问题。
我使用 Macports 安装 ImageMagick。我还尝试过从源代码手动构建并运行识别/usr/local/bin/identify
我得到了相同的结果。我还尝试从 Macports 而不是 MAMP 运行 PHP,并且得到相同的结果。
有人可以帮忙解释一下吗?
编辑这个文件:
/应用程序/MAMP/库/bin/envvars
注释掉以下几行:
DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
导出 DYLD_LIBRARY_PATH
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)