最大执行时间尝试捕获

时间:2015-06-04 21:06:45

标签: php

所有内容都在标题中,因此在经过多次搜索之后,我看到了一个人可以通过php来解决这个错误。因此,我寻找一个解决方案,不是我的网站显示空白页面(我隐藏错误),而是一个错误的页面:“无法实现您的请求”。无论如何不可能,我想用ErrorDocument(htaccess)制作它,但它不起作用(在localhost中)。要制作?

抱歉我的英文

2 个答案:

答案 0 :(得分:1)

您需要做的是使用register_shutdown_function(),它可以让您在PHP退出之前做一些事情。

因此,在下面的示例中,我捕获错误并检查消息是否以最长执行时间

开头
  

示例代码

set_time_limit(1);

register_shutdown_function(function() {
    $error = error_get_last();

    if ($error['type'] === E_ERROR && strpos($error['message'], 'Maximum execution time of') === 0) {
        echo 'time limit exceeded';
    }
});

for(;;) {}

答案 1 :(得分:0)

您可以将错误文档添加到.htaccess。对于超时,您需要为状态代码504添加一个。将以下行添加到.htaccess:

ErrorDocument 504 /504.html

/504.html是您要显示的错误页面的相对网址。这也可能是一个PHP文件。

more information and list of error codes