php执行shell命令,dyld:Library未加载:/usr/lib/libxml2.2.dylib

php执行shell命令,dyld:Library未加载:/usr/lib/libxml2.2.dylib,php,wkhtmltopdf,shell-exec,Php,Wkhtmltopdf,Shell Exec,我正在尝试使用wkhtmltopdf可执行文件将一些html转换为pdf。我只是在我的mac上测试它,如果我通过终端运行可执行文件,它就可以正常工作。如果使用php shell_exec运行它,则会出现以下错误: dyld:未加载库: /参考usr/lib/libxml2.2.dylib 发件人: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework

我正在尝试使用wkhtmltopdf可执行文件将一些html转换为pdf。我只是在我的mac上测试它,如果我通过终端运行可执行文件,它就可以正常工作。如果使用php shell_exec运行它,则会出现以下错误:

dyld:未加载库: /参考usr/lib/libxml2.2.dylib 发件人: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices 原因:库版本不兼容: DictionaryServices需要版本 10.0.0或更高版本,但libxml2.2.dylib提供了9.0.0版

如果我通过php吐出我正在使用的cmd,我可以运行它,并且它在终端中运行良好

我认为这是一个路径问题,所以我回显了我的用户路径,它与php可用的路径不同,因此我在之前将其添加到命令中:

PATH=$PATH:/usr/local/sbin:/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5/bin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/opt/subversion/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin; ./wkhtmltopdf-0.9.9-OS-X.i368 ./'newxhtml.html' /tmp_pdf.pdf
有没有想过我可能做错了什么


谢谢,小姐知道发生了什么事

首先要解决问题,我运行命令:

环境

从我的终端和php脚本

我注意到在我的php脚本中明确设置了以下内容:

动态库路径=/some/PATH

但在终端中,该值根本没有设置。所以我所做的只是补充:

DYLD_LIBRARY_PATH=“”

这是我最后的命令: DYLD_LIBRARY_PATH=“”/wkhtmltopdf-0.9.9-OS-X.i368./'newxhtml.html./tmp_pdf.pdf 2>&1

我只是通过shell_exec运行它