Обработка ошибок тайм-аута PHP

0

Я triyng, чтобы поймать ошибку тайм-аута, чтобы вывести некоторый чистый текст пользователю (например, "Извините, тайм-аут"). Так почему же этот пример:

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? Я в замешательстве. Здесь этот пример выглядит полезным. благодаря

  • 0
    У меня работает нормально
Теги:
error-handling
timeout

1 ответ

2
Лучший ответ

Не пытайтесь использовать 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;
  • 0
    Выглядит полезным для меня. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню