簡體   English   中英

php執行shell命令,dyld:庫未加載:/usr/lib/libxml2.2.dylib

[英]php execute shell commands, dyld: Library not loaded: /usr/lib/libxml2.2.dylib

我正在嘗試使用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腳本中注意到它具有以下明確設置的內容:

DYLD_LIBRARY_PATH = /一些/路徑

但是在終端中,這個值根本沒有設置。 所以我所做的就是添加:

DYLD_LIBRARY_PATH =“”;

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

我只是通過shell_exec運行它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM