PHP shell_exec停止工作

时间:2017-10-11 11:01:09

标签: php linux apache shell-exec

我遇到了PHP shell_exec()的问题。

背景: 我已经使用 shell_exec()通过网络浏览器访问嵌入式Linux目标(即Raspberry Pi),使用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 ...。

Web服务器仍然正在工作并向浏览器提供页面。我可以通过终端窗口(SSH /串行)执行ifconfig。在重新启动Apache2服务之前,不会还原Shell_exec()功能。我已经更新了Apache2和PHP。但这还没有解决问题。

我已经读过这篇文章并怀疑资源可能是问题,即垃圾收集。我尝试在php.ini (session.gc_probability, session.gc_divisor)中更新以下值,但没有运气。

您对此事的建议/经验将不胜感激:)

提前感谢你。

2 个答案:

答案 0 :(得分:0)

您是否尝试更改脚本权限以允许apache / PHP应用程序访问它?

答案 1 :(得分:0)

shell_exec()将在继续之前等待它执行的脚本完成运行。 所以无论你执行的是什么问题。