我有一個design tool extension在我正在使用的網站上使用。設計工具使用inkscape命令行來導出圖像。有一個php界面可以用於最終調用shell_exec($inkscapeCmd)
的命令行操作。在注意到圖像文件沒有被導出之後,我創建了一些測試來嘗試和調試。我改變了執行行shell_exec($inkscapeCmd . ' 2>&1')
才能看到錯誤消息:無法在PHP shell_exec()命令中運行inkscape
sh: inkscape: command not found
...因爲它肯定安裝和方便這是奇怪的。我添加了一個檢查用戶我的測試頁上,以確保這些命令是由用戶來執行與訪問Inkscape中:
$processUser = posix_getpwuid(posix_geteuid()); echo 'user: ' . $processUser['name'];
然後我SSH方式登錄到服務器,以確認我可以運行與那個用戶相同的命令,並且能夠在沒有任何問題的情況下運行它們(這也證實了inkscape在PATH中)。我能夠從PHP沒有問題,運行等,基本shell命令,就像這樣:
echo shell_exec('ls');
但現在我處於虧損狀態;我不知道還有什麼要檢查,以確定爲什麼我得到'命令未找到'錯誤。任何方向都會有幫助。
服務器(而不是舊的,我知道):過程不具備位置
- 的CentOS 6.7
- PHP 5.3.3
- Inkscape的v0.47
爲什麼這會降低投票率?我以爲我問了一個合理的問題,最終得到了我正在尋找的答案;設計工具需要可執行文件的路徑(它在配置文件中被錯誤地定義)。 – spencerready