Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: set_error_handler, fatal error
 
 автор: RaiDeRz   (13.10.2008 в 11:07)   письмо автору
 
 

Никак немогу понять в чем может быть проблемма у меня error_handler фатальные ошибки отказываеться видеть тоесть мою функцию для обработки ошибок на фатальные не запускает а просто тупо выводит на экран, а другие типы ошибок он нормально обрабатывает, вот моя функция:
function error_handler($errno, $errstr, $errfile, $errline){
    if($errno == 0) return;
    $error = false;
    switch($errno){
        case E_ERROR:               $error = true; break;
        case E_WARNING:             $error = true; break;
        case E_PARSE:               $error = true; break;
        case E_CORE_ERROR:          $error = true; break;
        case E_CORE_WARNING:        $error = true; break;
        case E_COMPILE_ERROR:       $error = true; break;
        case E_COMPILE_WARNING:     $error = true; break;
        case E_USER_ERROR:          $error = true; break;
        case E_USER_WARNING:        $error = true; break;
        //case E_STRICT:              $error = true; break;
        case E_RECOVERABLE_ERROR:   $error = true; break;
    }
    if ($error === false) return false;
    $out .= ''.$errno.': '.$errstr.' in '.$errfile.' on line '.$errline."\n";
        $backtrace = debug_backtrace();
        array_shift($backtrace);
        foreach($backtrace as $i=>$l){
            $out                .= '['.$i.'] in function <b>'.$l['class'].' '.$l['type'].' '.$l['function'].'</b>';
            if($l['file']) $out .= ' in <b>'.$l['file'].'</b>';
            if($l['line']) $out .= ' on line <b>'.$l['line'].'</b>';
            $out .= "\n";
        }
    $out .= "\n";
    file_put_contents($_SERVER['DOCUMENT_ROOT'].'/files/logs/'.date('Y-m-d_H-i-s').'.txt', $out);
    die('В данный момент ведуться технические работы');
}


Как сделать так чтобы он их видел?

  Ответить  
 
 автор: BinLaden   (13.10.2008 в 11:56)   письмо автору
 
   для: RaiDeRz   (13.10.2008 в 11:07)
 

Отлавливать фатальные ошибки нельзя.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования