PHP FATAL நிலை பிழைகளைப் பிடிக்கும்

அதிகாரப்பூர்வ குறிப்பு

அதிகாரப்பூர்வ வலைத்தளம் set_error_handler register_shutdown_function

எல்லா பிழைகளையும் சரியாகப் பிடிப்பது எப்படி

set_error_handler ஐ பெரும்பாலான பிழை வகைகளைப் பிடிக்கப் பயன்படுத்தலாம். ஒரு FATAL நிலை பிழை ஏற்பட்டால், PHP நேரடியாக செயல்பாட்டை நிறுத்துகிறது, set_error_handler அமைத்த கால்பேக் செயல்பாட்டைத் தூண்ட முடியாது. இந்த நேரத்தில், நிரல் நிறுத்தத்திற்கான கால்பேக் செயல்பாட்டை அமைக்க நாங்கள் 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);
}