PHP нь FATAL түвшний алдааг олж авдаг

Албан ёсны лавлагаа

Албан ёсны цахим хуудас set_error_handler register_shutdown_function

Бүх алдааг хэрхэн төгс барих вэ

set_error_handler нь ихэнх алдааны төрлийг олж авахад ашиглагддаг.FATAL түвшний алдаа гарсан тохиолдолд PHP нь шууд ажиллагааг зогсоодог тул set_error_handler-ийн тохируулсан буцаах функцийг идэвхжүүлж чадахгүй. Энэ үед бид return_shutdown_function-ийг ашиглан програмыг цуцлахын тулд буцааж дуудах функцийг тохируулах хэрэгтэй. Regist_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);
}