我有一个PHP脚本,它从数据库中获取一大块数据,对其进行处理,然后查看是否有更多的数据。这个进程无限期地运行,我在一台服务器上一次运行其中的几个。
它看起来像是:
<?php
while($shouldStillRun)
{
// do stuff
}
logThatWeExitedLoop();
?>问题是,过了一段时间,有些事情导致进程停止运行,而我还无法调试它并确定原因。
到目前为止,这是我用来获取信息的工具:
您建议采取哪些其他调试方法来查找罪魁祸首?
注意:我应该补充一点,这并不是max_execution_time的问题,对于这些脚本来说,是禁用的。被杀前的时间是不一致的。它可以在死前跑10秒或12小时。
Update/Solution:谢谢大家的建议。通过记录输出,我发现当MySql查询失败时,脚本被设置为die()。哦哦。更新它以记录mysql错误,然后终止。让它像个魅力一样运作起来!
发布于 2010-11-25 01:18:04
我会记录你脚本的内存使用情况。也许它获得了太多的记忆,达到了记忆的极限而死了?
发布于 2010-11-25 00:12:07
发布于 2010-11-25 00:12:54
听起来,无论发生什么,都不是标准的php错误。你应该可以尝试抛出自己的错误.语句,然后将其记录下来。除此之外,我没有更多的细节,因为我的手机远离个人电脑。
https://stackoverflow.com/questions/4272540
复制相似问题