PHP- ը նկատում է FATAL մակարդակի սխալները

Պաշտոնական տեղեկանք

Պաշտոնական կայք set_error_handler register_shutdown_function

Ինչպես կատարելապես որսալ բոլոր սխալները

set_error_handler- ը կարող է օգտագործվել սխալների մեծամասնությունը գրավելու համար: Երբ FATAL մակարդակի սխալ է պատահում, քանի որ PHP- ն ուղղակիորեն դադարեցնում է գործողությունը, set_error_handler- ի կողմից սահմանված հետադարձ կապի գործառույթը չի կարող գործարկվել: Այս պահին մենք պետք է օգտագործենք Register_shutdown_function- ը `ծրագրի դադարեցման համար հետադարձ կապի գործառույթը սահմանելու համար: Պետք է նշել, որ Register_shutdown_function- ի կողմից սահմանված հետադարձ կապը կատարվում է ծրագրի դադարեցումից հետո, անկախ այն բանից `գործընթացում սխալ կա՞: Այսպիսով, այս հետադարձ կապում մենք պետք է նաև որոշենք `արդյոք սխալ է տեղի ունեցել, և եթե սխալ է տեղի ունեցել, մենք այն կգրանցենք մատյանում: Մանրամասների համար դիմեք հետևյալ ծածկագրին:

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