1

我有一个 PHP 脚本运行一个循环,它可以持续几个小时。然而,大约 50 分钟后,尽管脚本远远超过 60 秒,但我收到以下错误:

致命错误:在第 275 行的 /path/script.php 中超过了 60 秒的最大执行时间

脚本失败时的内存使用量为 11359848 字节 - 10.8336 MB。任何想法实际上可能导致脚本像这样跳闸?

4

1 回答 1

6

最大执行时间不是实时,而是 CPU 时间。

因此,如果发送例如需要 10 小时才能完成的 HTTP 请求(即等待 I/O),您可以轻松地保持在 60 秒的限制内。但是,如果尝试使用暴力破解哈希(即脚本实际上在做某事的地方),您将在 60 秒的实时时间后达到时间限制。

您的问题的解决方案非常简单:set_time_limit(0);除非 PHP 在safe_mode下运行,否则禁用时间限制,但如果是这种情况,是时候找托管公司了。

于 2012-07-03T18:18:32.073 回答