2010-05-26 2 views
6

Возможно ли, чтобы все ошибки PHP записывались в MySQL вместо стандартного файла error_log. Я предполагаю, что это было бы возможно, если бы я написал свой собственный обработчик ошибок с нуля, но у меня есть много устаревшего кода на месте, и в идеале я бы просто сделал 1 глобальное изменение, и это было бы так. Это можно сделать?Вывод всех ошибок PHP в базу данных not error_log

+0

Я 99% положительных вы не можете просто положить что-то в php.ini и это произошло. При этом написание пользовательского обработчика ошибок займет у вас около 5 минут. – Erik

ответ

18

Я не думаю, что это может быть сделано без построения собственного обработчика ошибок, но технически, то есть один глобальное изменение вы ищете.

Модифицированный пример из manual:

function myErrorHandler($errno, $errstr, $errfile, $errline) 
{ 
    // you'd have to import or set up the connection here 
    mysql_query("INSERT INTO error_log (number, string, file, line) ". 
       "VALUES .....");   

    /* Don't execute PHP internal error handler */ 
    return true; 
} 

затем

// set to the user defined error handler 
$old_error_handler = set_error_handler("myErrorHandler");