Apache通知抓住了SIGTERM,关闭了php循环脚本

Jea*_*ond 2 php apache mediatemple plesk internal-server-error

我有一个来自MediaTemple的DV 4.0.

当我运行一个需要循环超过5000次的php文件脚本时,我收到了"500内部服务器错误".

代码似乎是因为当我用200时间循环执行时,结果被打印出来.

我的"max_input_time","max_execution_time","default_socket_timeout"以及所有其他php参数都不是问题(我猜,所有设置为9000,memory_limit为-1)

我懂了:

[Sat Jan 11 19:25:22 2014] [notice] caught SIGTERM, shutting down
Run Code Online (Sandbox Code Playgroud)

这是因为apache重启.我的问题是:如何在我的脚本中循环超过5000次而不会崩溃我的系统;-)

谢谢

Sel*_*lay 6

你的问题是如何循环超过5000次.

循环5000或5亿次不是问题.你在其他地方有问题.

SIGTERM用于重启Apache(如果它在init中设置为自动重启):http://httpd.apache.org/docs/2.2/stopping.html

您看到的日志条目应该在那里,因为SIGTERM就是出于此目的.也许,apache没有崩溃,但你的数据有问题或者执行时间不足.

它可能是一个自定义的PHP模块或代码.在发生故障时查看apache访问/错误日志.不要忘记打开错误登录.它可以帮助您找出问题所在.是吗?如果在DEV模式下,总是会出现错误报告!

如果它真的崩溃,甚至没有提供静态内容,那么这听起来像某种线程/连接耗尽问题.但是,您的代码似乎有问题并且您可以抑制错误.

如果您确定您的身边/代码没有任何问题(如果它在另一个系统上运行),您可能需要重新安装apache和php,它将解决任何损坏的文件或您错误配置它.