【发布时间】:2011-10-15 05:14:36
【问题描述】:
我一直在玩我正在开发的系统,并设法让它导致这个:
致命错误:超过 30 秒的最大执行时间
它发生在我做一些不切实际的事情时,但它可能发生在用户身上。
有谁知道是否有办法捕捉这个异常?我已经阅读过,但似乎每个人都建议增加允许的时间。
【问题讨论】:
-
相信一旦超过执行时间,脚本就会终止。在这种情况下,可能已经捕获异常的脚本已经被杀死了。
-
无法捕获或处理致命错误(它们不是异常)。您只能通过registering a shutdown function 优雅地处理脚本终止,但脚本将在之后结束。
-
不,可能的重复不是“完全”重复。它不要求脚本超时引发的致命错误,而只要求通常如何捕获致命错误。但是由于在这种情况下一般也回答了具体问题,因此它有资格成为可能的重复项。如果问题是如何解决脚本超时错误,那么它可能与大多数 stackoverflow.com/search?q=maximum+execution+time+php 重复;)
-
一般来说我无法回答这个问题,但在某些情况下,您可以将某些事情的时间限制为小于 max_execution_time,然后抓住它。例如 curl_setopt($client, CURLOPT_TIMEOUT, 27);将导致 curl 在 27 秒后放弃,这样您就不会遇到致命错误。
标签: php try-catch fatal-error