Уведомление об ошибке

Тема в разделе "Как сделать...", создана пользователем brutka, 4 апр 2010.

Статус темы:
Закрыта.
  1. brutka

    brutka Создатель

    Регистр.:
    16 июл 2008
    Сообщения:
    281
    Симпатии:
    13
    Можно ли вместо замечательного вывода любой PHP ошибки на экран сделать отправку уведомления по Email?
    В некоторых фреймворках (правда не РНР) это есть сразу - очень удобно.
     
  2. Miraage

    Miraage Angular/Laravel

    Регистр.:
    3 июн 2008
    Сообщения:
    230
    Симпатии:
    51
    Засунь это в /errorhandler.php
    и подключи в первой строчке главного скрипта
    PHP:
    <?php
    function myErrorHandler$errno$msg$file$line )
    {
        if ( 
    error_reporting() == ) return;
        
        
    $output = <<<ERROR
    Ошибка: $msg
    Место: 
    $file, строка $line
    ERROR;

        
    $email 'webmaster@host.com';
        
    mail$email'PHP Errors'$output );
        return;
    }

    set_error_handler'myErrorHandler' );
    ?>
     
    brutka нравится это.
  3. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    Только не надо слать при каждой миллиошибке.
    в вышеописанном myErrorHandler лучше складировать ошибки, а потом все ошибки одним письмом слать в фукнции, которую зарегат в register_shutdown_function
     
  4. Miraage

    Miraage Angular/Laravel

    Регистр.:
    3 июн 2008
    Сообщения:
    230
    Симпатии:
    51
    Я писал на скорую руку, даже не думал о быстродействии.. Да, Ливер предложил хороший вариант

    А если использовать метод исключений, то можно фильтровать ошибки и потом их отсылать. как дома буду могу скинуть либу
     
Статус темы:
Закрыта.