phperror-handlingfatal-error

set_error_handler() doesn't work for FATAL error


I have a simple custom error handler that writes in a error log file some useful debug infos.

it's work for everything but it's not get triggered for FATAL error.

Any way to solve this?

Currently to bypass this circumstance I have registered a shutdown function too that checks error_get_last()


Solution

  • Nope, that's just a limitation of set_error_handler(); it doesn't handle all errors.

    The following error types cannot be handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT raised in the file where set_error_handler() is called.

    The register_shutdown_function() and error_get_last() is a decent workaround.