PHP FATAL деңгейінің қателерін ұстайды

Ресми анықтама

Ресми сайт set_error_handler register_shutdown_function

Барлық қателіктерді қалай тамаша ұстауға болады

set_error_handler қателіктердің көп түрлерін түсіру үшін қолданыла алады.FATAL деңгейінде қате пайда болған кезде, PHP әрекетті тікелей тоқтататындықтан, set_error_handler орнатқан қайта шақыру функциясы іске қосылмайды. Қазіргі уақытта біз бағдарламаны тоқтату үшін қайта қоңырау шалу функциясын орнату үшін register_shutdown_function пайдалануымыз керек. Регистр_shutdown_функциясы орнатқан қайта шақыру процесінде қате болғанына қарамастан, бағдарлама аяқталғаннан кейін орындалатынын ескеру қажет. Сонымен, осы қоңырау кезінде біз қате болған-болмағанын анықтауымыз керек, егер қате орын алса, оны журналға жазамыз. Толық ақпарат алу үшін келесі кодты қараңыз.

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