PHP超时错误处理

标签 php error-handling timeout

我试图捕捉超时错误以向用户输出一些明文(如“对不起,超时”)。
那么为什么这个例子:

function shutdown() { 
    $a=error_get_last(); 
    if($a==null)   
        echo "No errors"; 
    else 
         print_r($a); 

} 
register_shutdown_function('shutdown'); 
ini_set('max_execution_time',1 ); 
sleep(3); 

输出 no errors ??我对此感到困惑。
Here这个例子看起来很有帮助。
谢谢

最佳答案

尝试不使用 sleep(),如果超时的原因是实际工作,似乎可以工作:

例子

function isPrime($num) {
    if($num == 1)
        return false;
    if($num == 2)
        return true;
    if($num % 2 == 0) {
        return false;
    }
    for($i = 3; $i <= ceil(sqrt($num)); $i = $i + 2) {
        if($num % $i == 0)
            return false;
    }
    return true;
}
function shutdown() 
{ 
     $a=error_get_last(); 
     if($a==null)   
         echo "No errors"; 
     else 
          print_r($a); 
} 
register_shutdown_function('shutdown'); 
ini_set('max_execution_time',1 ); 
$ps = 0;
for ($i = 0; $i < 1000000; $i++) {
    if (isPrime($i)){
        $ps++;
    }
}
echo $ps;

关于PHP超时错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28895685/

相关文章:

php - 通过命令行运行带有 header 命令的 PHP 脚本

python - Instagram python bot,当我运行错误时如何关闭并重新启动?

asp.net - ASP.Net 中的客户端 session 超时重定向

php 两个依赖的下拉菜单 mysql 查询获取数组

php - 根据一组标准匹配人员

php - 如何使用jquery获取编辑文本的值

python - 引发错误的目的是什么?

python - 每个循环仅打印一次错误消息

tcp - 哪个超时值决定了多长时间空闲的TCP连接会被关闭?

c++ - C++为类方法实现超时功能模板