【发布时间】:2011-04-18 11:09:07
【问题描述】:
我正在尝试执行一个可能很长的后台进程来响应传入的 AJAX 请求,但是通过 shell_exec 使用 nohup 或 setsid 会导致服务器分叉炸弹。我们使用suexec 和 FastCGI,当它被轰炸时,整个服务器都陷入了爬行。
shell_exec("nohup /home/me/myscript.php");
脚本现在没有做任何冗长的事情,只是输出到一个不存在的文件(这永远不会发生,因为它首先会爆炸)
谢谢!
【问题讨论】:
-
您绝对应该询问 serverfault,那里有更多专家。但有一件事:作为预防措施,您应该在脚本之前 nohup php 解释器 (
nohup /usr/bin/php /home/../script.php)。这些实用程序在 shebang 脚本上效果不佳。
标签: php shell fork command-line-interface