我遇到了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