PHP FATAL дәрәҗәсендәге хаталарны тота

Рәсми белешмәлек

Рәсми сайт set_error_handler register_shutdown_function

Барлык хаталарны ничек тотарга

set_error_handler күпчелек хата төрләрен кулга алу өчен кулланылырга мөмкин. FATAL дәрәҗәсендәге хата килеп чыккач, PHP операцияне турыдан-туры туктатканга, set_error_handler куйган шалтырату функциясе эшләтеп булмый. Бу вакытта безгә программаны туктату өчен кире кайту функциясен куяр өчен, registr_shutdown_function кулланырга кирәк. Әйтергә кирәк, registr_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);
}