PHP kap gabime të nivelit FATAL
Referencë zyrtare
Uebfaqe zyrtare set_error_handler register_shutdown_functionSi të kapni të gjitha gabimet në mënyrë të përsosur
set_error_handler mund të përdoret për të kapur shumicën e llojeve të gabimeve. Kur haset një gabim i nivelit FATAL, sepse PHP përfundon drejtpërdrejt operacionin, funksioni i kthimit të thirrjeve të vendosur nga set_error_handler nuk mund të ndizet. Në këtë kohë, duhet të përdorim funksionin Register_shutdown_ për të vendosur funksionin e kthimit të telefonit për përfundimin e programit. Duhet të theksohet se kthimi i thirrjes i vendosur nga regjistri_shutdown_funksion ekzekutohet pasi programi të përfundojë, pavarësisht nëse ka ndonjë gabim në proces. Pra, në këtë kthim thirrje, ne gjithashtu duhet të përcaktojmë nëse ka ndodhur një gabim, dhe nëse ka ndodhur një gabim, ne do ta regjistrojmë atë në regjistër. Për detaje, ju lutemi referojuni kodit vijues.
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);
}