我遇到了PHP shell_exec()的問題。PHP shell_exec停止工作
背景: 我用了shell_exec()通過Web瀏覽器訪問的嵌入式Linux目標(即樹莓派),使用HTML的JavaScript(AJAX)和PHP,所有的作品真的很好(如我意識到這個問題的安全性問題,但不適用於此)。目前我正在使用PHP v 5.6.31和Apache2 v 2.4.27看起來很穩定。
問題 經過長時間使用後,我注意到shell_exec()變得不響應?以下示例已登錄:/var/apache2/logs/error_log
... PHP警告:shell_exec():無法執行'/ sbin/ifconfig ...。
網絡服務器仍在積極工作並向瀏覽器提供頁面。我可以通過一個終端窗口(SSH/serial)來執行ifconfig。在Apache2服務重新啓動之前,Shell_exec()功能不會被恢復。我更新了Apache2和PHP。但是這並沒有解決問題。
我讀過這個,懷疑資源可能是問題,即垃圾收集。我試過更新php.ini
(session.gc_probability, session.gc_divisor)
中的下列值,但沒有運氣。
您對此事的建議/經驗將不勝感激:)
感謝您提前。
沒有任何提取數據的方法。我感覺PHP + Apache是一種查詢嵌入式Linux目標的慢速且昂貴(資源耗盡)方式。 – joebloggs
...看起來像使用websockets是實現查詢系統的這個過程的更好方法。 – joebloggs
我收回了我之前的聲明,看起來像execs問題仍然存在與websockets。目前得到'PHP:警告:exec():無法在/ path /到/ websocket_server.php中分支[pwd] – joebloggs