регистрация — захватить все error_get_last () в одну строку

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

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

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

0

Решение

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');
1

Другие решения

Других решений пока нет …