我使用PHP共享庫時PHP的exec()被調用沒有被加載
$commstr = '/abs/path/to/binary > status.txt &';
echo "Running command: ".$commstr."\n";
shell_exec($commstr);
PHP exec()
或與此有關,因爲status.txt中被寫入system()
或shell_exec()
工作正常觸發可執行文件,但cat status.txt
說error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory
。這意味着二進制沒有得到執行
我試圖改變我的PHP代碼下面沒有任何的運氣
$commstr = 'export LD_LIBRARY_PATH=/path/to/lib ; /abs/path/to/binary > status.txt &';
二進制是由用戶apache
可讀等等都是庫。
我想 - 因爲它不是以絕對路徑的工作 - PHP有沒有關係 - 它的外部二進制 –
裏面有問題嘛,我可以運行命令行 –
二進制因此,嘗試'cd('/ path/to/bin');'在你的PHP腳本中 –