PHP jaqbad żbalji fil-livell FATALI

Referenza uffiċjali

Websajt uffiċjali set_error_handler register_shutdown_function

Kif taqbad l-iżbalji kollha perfettament

set_error_handler jista 'jintuża biex jaqbad il-biċċa l-kbira tat-tipi ta' żbalji Meta jinstab żball fil-livell FATAL, minħabba li PHP itemm direttament l-operazzjoni, il-funzjoni ta 'callback issettjata minn set_error_handler ma tistax tiġi attivata. F'dan iż-żmien, għandna bżonn nużaw register_shutdown_function biex tissettja l-funzjoni ta 'callback għat-terminazzjoni tal-programm. Għandu jiġi nnutat li l-callback issettjat minn register_shutdown_function jiġi eżegwit wara li l-programm jintemm, irrispettivament minn jekk hemmx żball fil-proċess. Allura f'dan il-callback, irridu niddeterminaw ukoll jekk seħħx żball, u jekk seħħ żball, aħna nirreġistrawh fil-log. Għad-dettalji, jekk jogħġbok irreferi għall-kodiċi li ġej.

            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);
}