我有一个运行循环的PHP脚本,可以持续数小时。但是大约50分钟后,我得到以下错误,尽管脚本远远超过60秒:
致命错误:超过60秒的最长执行时间 第275行的/path/script.php
脚本失败时的内存使用量是11359848字节 - 10.8336 MB。 有什么想法可能导致脚本像这样跳出来吗?
答案 0 :(得分:6)
最长执行时间不是实时,而是CPU时间。
所以如果发送,例如HTTP请求需要10个小时才能完成(即等待I / O),您可以轻松地保持在60秒的限制内。但是如果尝试使用暴力破解哈希(即脚本实际上正在做某事的话),那么在实际的60多个实时时间之后你就会达到时间限制。
您的问题的解决方案非常简单:set_time_limit(0);
禁用时间限制,除非PHP在 safe_mode 中运行,但如果是这种情况则是时候让托管公司了。