Gabhann PHP earráidí ar leibhéal FATAL

Tagairt oifigiúil

Suíomh Gréasáin oifigiúil set_error_handler register_shutdown_function

Conas gach earráid a ghabháil go foirfe

is féidir set_error_handler a úsáid chun an chuid is mó de na cineálacha earráide a ghabháil. Nuair a bhíonn earráid leibhéal FATAL ann, toisc go gcuireann PHP deireadh leis an oibríocht go díreach, ní féidir an fheidhm aisghlao atá leagtha síos ag set_error_handler a spreagadh. Ag an am seo, ní mór dúinn register_shutdown_function a úsáid chun an fheidhm aisghlaoch a shocrú chun an clár a fhoirceannadh. Ba chóir a thabhairt faoi deara go ndéantar an aisghlaoch a shocraíonn register_shutdown_function a fhorghníomhú tar éis deireadh a chur leis an gclár, is cuma má tá earráid sa phróiseas. Mar sin, san aisghlaoch seo, caithfimid a chinneadh freisin ar tharla earráid, agus má tharla earráid, déanfaimid é a thaifeadadh sa logáil. Le haghaidh sonraí, féach an cód seo a leanas.

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