PHP FATAL पातळीवरील त्रुटी पकडते

अधिकृत संदर्भ

अधिकृत संकेतस्थळ set_error_handler register_shutdown_function

सर्व चुका उत्तम प्रकारे कसे पकडावेत

सेट_ररर_हँडलर बहुतेक त्रुटी प्रकार कॅप्चर करण्यासाठी वापरला जाऊ शकतो.जेव्हा एक FATAL स्तरावरील त्रुटी उद्भवली, कारण PHP थेट कार्य समाप्त करते, तेव्हा सेट_रररहँडलरद्वारे सेट केलेले कॉलबॅक फंक्शन ट्रिगर केले जाऊ शकत नाही. यावेळी, प्रोग्राम समाप्त करण्यासाठी कॉलबॅक फंक्शन सेट करण्यासाठी आम्हाला रजिस्टर_शटडाउन_फंक्शन वापरण्याची आवश्यकता आहे. प्रक्रियेत त्रुटी आहे की नाही याची पर्वा न करता कार्यक्रम समाप्त झाल्यानंतर रजिस्टर_शटडाउन_फंक्शनद्वारे सेट केलेला कॉलबॅक अंमलात आणला पाहिजे. तर या कॉलबॅकमध्ये, त्रुटी आली आहे की नाही हे देखील आपण निर्धारित करणे आवश्यक आहे आणि जर एखादी त्रुटी आली असेल तर आम्ही ती लॉगमध्ये रेकॉर्ड करू. तपशीलांसाठी, कृपया खालील कोडचा संदर्भ घ्या.

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