ಪಿಎಚ್ಪಿ FATAL ಮಟ್ಟದ ದೋಷಗಳನ್ನು ಸೆಳೆಯುತ್ತದೆ

ಅಧಿಕೃತ ಉಲ್ಲೇಖ

ಅಧಿಕೃತ ಜಾಲತಾಣ set_error_handler register_shutdown_function

ಎಲ್ಲಾ ದೋಷಗಳನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಹಿಡಿಯುವುದು ಹೇಗೆ

ಹೆಚ್ಚಿನ ದೋಷ ಪ್ರಕಾರಗಳನ್ನು ಸೆರೆಹಿಡಿಯಲು set_error_handler ಅನ್ನು ಬಳಸಬಹುದು. ಒಂದು FATAL ಮಟ್ಟದ ದೋಷ ಎದುರಾದಾಗ, PHP ನೇರವಾಗಿ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ, set_error_handler ಹೊಂದಿಸಿದ ಕಾಲ್ಬ್ಯಾಕ್ ಕಾರ್ಯವನ್ನು ಪ್ರಚೋದಿಸಲಾಗುವುದಿಲ್ಲ. ಈ ಸಮಯದಲ್ಲಿ, ಪ್ರೋಗ್ರಾಂ ಮುಕ್ತಾಯಕ್ಕಾಗಿ ಕಾಲ್ಬ್ಯಾಕ್ ಕಾರ್ಯವನ್ನು ಹೊಂದಿಸಲು ನಾವು ರಿಜಿಸ್ಟರ್_ಶಟ್ಡೌನ್_ಫಂಕ್ಷನ್ ಅನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ದೋಷವಿದೆಯೆ ಎಂದು ಲೆಕ್ಕಿಸದೆ, ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಮುಕ್ತಾಯಗೊಳಿಸಿದ ನಂತರ ರಿಜಿಸ್ಟರ್_ಶಟ್ಡೌನ್_ಫಂಕ್ಷನ್ ನಿಗದಿಪಡಿಸಿದ ಕಾಲ್ಬ್ಯಾಕ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ ಎಂದು ಗಮನಿಸಬೇಕು. ಆದ್ದರಿಂದ ಈ ಕಾಲ್ಬ್ಯಾಕ್ನಲ್ಲಿ, ದೋಷ ಸಂಭವಿಸಿದೆ ಎಂದು ನಾವು ನಿರ್ಧರಿಸಬೇಕು ಮತ್ತು ದೋಷ ಸಂಭವಿಸಿದಲ್ಲಿ, ನಾವು ಅದನ್ನು ಲಾಗ್ನಲ್ಲಿ ರೆಕಾರ್ಡ್ ಮಾಡುತ್ತೇವೆ. ವಿವರಗಳಿಗಾಗಿ, ದಯವಿಟ್ಟು ಈ ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು ನೋಡಿ.

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