set_error_handler () не работает для ошибки FATAL

У меня есть простой пользовательский обработчик ошибок, который записывает в файл журнала ошибок какую-нибудь полезную информацию об отладке.

это работа для всего, но это не срабатывает для ошибки FATAL.

Любой способ решить это?

В настоящее время, чтобы обойти это обстоятельство, я также зарегистрировал функцию выключения, которая проверяет error_get_last()

Solutions Collecting From Web of "set_error_handler () не работает для ошибки FATAL"

Нет, это просто ограничение set_error_handler() ; он не обрабатывает все ошибки.

Следующие типы ошибок не могут быть обработаны с помощью определенной пользователем функции: E_ERROR , E_PARSE , E_CORE_WARNING , E_COMPILE_ERROR , E_COMPILE_WARNING , E_COMPILE_WARNING и большая часть E_STRICT поднятых в файле, где set_error_handler() .

Функция register_shutdown_function() и error_get_last() является подходящим решением.

Есть только хакерские способы решить эту проблему, например, используя register_shutdown_function() а затем проверить, произошла ли ошибка внутри этой функции.

PHP имеет log_errors по какой-либо причине, вы можете сделать PHP-журнал любой ошибкой в ​​syslog или logfile без отдельной строки пользовательского кода. Поэтому использование set_error_handler() для этой цели вовсе не требуется, и этого следует избегать, если вам не требуется, например, stacktrace.