处理致命错误:PHP 中超出最大执行时间
在 PHP 开发领域,人们可能会偶然发现可怕的“致命错误” :超过了 30 秒的最大执行时间。”当脚本超过服务器设置的时间限制(默认情况下通常为 30 秒)时,就会出现此错误。
虽然增加时间限制似乎是一个简单的解决方案,但它并不总是实用。此外,由于其致命性,不可能通过异常捕获此错误。不过,还有另一种方法可以优雅地拦截它。
PHP 的 error_get_last() 函数允许您检索最后发生的错误。将此与 register_shutdown_function() 结合起来,您可以设置回调来处理程序终止时的错误。下面是一个例子:
<code class="php">function shutdown() { $error = error_get_last(); if ($error === null) { echo "No errors"; } else { print_r($error); } } register_shutdown_function('shutdown'); ini_set('max_execution_time', 1); // Setting a low time limit for demonstration purposes sleep(3);</code>
通过调用register_shutdown_function('shutdown'),shutdown()函数将在脚本执行或终止后执行。在此处理程序中,error_get_last() 检索最新的错误并打印它,使您能够正确记录或处理问题。
有关更多信息和替代方案,请参阅以下资源:
以上是如何优雅地处理 PHP 中的'超出最大执行时间”致命错误?的详细内容。更多信息请关注PHP中文网其他相关文章!