PHP - захватить все error_get_last () в одну строку - PullRequest
0 голосов
/ 11 мая 2018

Можно ли захватить / собрать все ошибки на странице и объединить их в строку, используя:

$allErrors = ""; 
$allErrors .= error_get_last(); // Each time an error shows up

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

1 Ответ

0 голосов
/ 11 мая 2018

error_get_last () , как следует из названия, выдает только последнюю ошибку. А тот факт, что большинство ошибок остановит запуск вашего скрипта, даст вам только последний и ни один из предыдущих. Но вы можете установить собственный обработчик , чтобы перехватывать каждую ошибку и исключение. Вот пример

//function for exception handling
function handle_exception (Exception $exception) {

    //here you can save the exception to your database

}

//function for error handling
function handle_error ($number, $message, $file, $line, $context = null) {

    //pass/throw error to handle_exception
    throw new ErrorException ($message, 0, $number, $file, $line);

}

//set error-handler but only for E_USER_ERROR and E_RECOVERABLE_ERROR
set_error_handler ('handle_error', E_USER_ERROR|E_RECOVERABLE_ERROR);

//exception-handler
set_exception_handler ('handle_exception');
...