Loaʻa nā PHP i nā hewa pae FATAL

Kuhikuhina kūhelu

Pūnaewele kūhelu set_error_handler register_shutdown_function

Pehea e hopu ai i nā hewa āpau

Hiki ke hoʻohana ʻia ka set_error_handler e hopu ai i nā ʻano nui hewahewa. Ke ʻike ʻia kahi hemahema FATAL pae, no ka mea hoʻopau ʻo PHP i ka hana, ʻaʻole hiki ke hoʻomaka i ka hana callback i hoʻonohonoho ʻia e set_error_handler. I kēia manawa, pono mākou e hoʻohana i ka register_shutdown_unction e hoʻonohonoho i ka hana callback no ka hoʻopau ʻana o ka papahana. Pono e hoʻomaopopo ʻia ua kāhea ʻia ka callback i hoʻonohonoho ʻia e register_shutdown_unction ma hope o ka pau ʻana o ka papahana, me ka nānā ʻole inā he hemahema paha i ke kaʻina hana. No laila i kēia callback, pono mākou e hoʻoholo inā ua loaʻa kahi hemahema, a inā i loaʻa kahi hemahema, e hoʻopaʻa mākou iā ia i ka log. No nā kikoʻī, e ʻoluʻolu e nānā i kēia code.

            set_error_handler('exception_handler');
register_shutdown_function('shutdown_handler');
function exception_handler($err_no, $err_str, $err_file, $err_line)
{
    error_reporting(0);
    // save error log
    // ...
    error_reporting(E_ALL);
}
function shutdown_handler()
{
    $error = error_get_last();
    if (empty($error)) {
        return;
    }
    error_reporting(0);
    // save error log
    // ...
    error_reporting(E_ALL);
}