为什么PHP脚本可能会停止?(Why php script may stop?)

2019-09-21 22:52发布

我跑在PHP很长的任务。 这是一个网站爬虫和它要有礼貌和睡眠5秒每页,防止超载的服务器。 脚本开头:

ignore_user_abort(1);
session_write_close();
ob_end_clean();
while (@ob_end_flush());
set_time_limit(0);
ini_set('max_execution_time',0);

几个小时之间(3-7h)后脚本死亡,没有任何明显理由。 我检查

  • Apache的错误日志(无)
  • php_errors.log(无)
  • 错误输出(调试输出的10 578 467B,没有错误)
  • 存储器消耗(稳定,围绕3M从memory_get_usage(true)检查每5秒,限制设置为512M)

这不是浏览器,因为我用wget和Chrome浏览器检查与类似的原因。 输出发送到浏览器每隔2-3秒,所以我不认为这是错+ I忽略用户中止。

是否有任何其他地方我可以检查发现的问题?

Answer 1:

我觉得有一个在你的脚本,而不是Apache的其它问题。

尝试剖析使用你的应用程序register_tick_function与光探查像这并记录内存使用情况 ,可能是。



文章来源: Why php script may stop?