PHP нь FATAL түвшний алдааг олж авдаг
Албан ёсны лавлагаа
Албан ёсны цахим хуудас set_error_handler register_shutdown_functionБүх алдааг хэрхэн төгс барих вэ
set_error_handler нь ихэнх алдааны төрлийг олж авахад ашиглагддаг.FATAL түвшний алдаа гарсан тохиолдолд PHP нь шууд ажиллагааг зогсоодог тул set_error_handler-ийн тохируулсан буцаах функцийг идэвхжүүлж чадахгүй. Энэ үед бид return_shutdown_function-ийг ашиглан програмыг цуцлахын тулд буцааж дуудах функцийг тохируулах хэрэгтэй. Regist_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);
}