Вывод всех ошибок PHP к базе данных не error_log

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

8
задан robjmills 26 May 2010 в 08:03
поделиться

2 ответа

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

Модифицированный пример из руководства:

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;
}

then

// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");
20
ответ дан 5 December 2019 в 07:34
поделиться

Похоже, что функция php set_error_handler может сделать то, что вы ищете. В первом примере вы можете добавить несколько вставок mysql для записи ошибок в базу данных.

http://www.php.net/manual/en/function.set-error-handler.php

2
ответ дан 5 December 2019 в 07:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: