PHP ta kama kurakuran matakin FATAL

Bayanin hukuma

Tashar yanar gizo set_error_handler register_shutdown_function

Yadda za a kama dukkan kurakurai daidai

Za'a iya amfani da set_error_handler don kama yawancin nau'ikan kuskure. Lokacin da aka sami kuskuren matakin FATAL, saboda PHP ta dakatar da aikin kai tsaye, ba za a iya kunna aikin dawo da kira da set_error_handler ya kafa ba. A wannan lokacin, muna buƙatar amfani da rajistar_shutdown_function don saita aikin mayar da kira don ƙare shirin. Ya kamata a lura cewa ana aiwatar da kiran da aka saita ta register_shutdown_function bayan an gama shirin, ba tare da la'akari da ko akwai kuskure a cikin aikin ba. Don haka a cikin wannan kiran, muna buƙatar tantance ko kuskure ya faru, kuma idan kuskure ya faru, za mu yi rikodin shi a cikin log Don cikakkun bayanai, da fatan za a koma zuwa lambar mai zuwa.

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