PHP piglia errori di livellu FATALE
Riferimentu ufficiale
Situ ufficiali set_error_handler register_shutdown_functionCumu piglià perfettamente tutti l'errori
set_error_handler pò esse adupratu per catturà a maiò parte di i tippi di errore. Quandu si trova un errore di livellu FATAL, perchè PHP finisce direttamente l'operazione, a funzione di callback impostata da set_error_handler ùn pò micca esse attivata. In questu mumentu, avemu bisognu di aduprà register_shutdown_function per impostà a funzione di callback per a terminazione di u prugramma. Ci hè da nutà chì u callback impostatu da register_shutdown_function hè eseguitu dopu à a fine di u prugramma, indipendentemente da s'ellu ci hè un errore in u prucessu. Dunque in questa richiamata, avemu ancu bisognu di determinà se un errore hè accadutu, è se un errore hè accadutu, u registreremu in u log. Per i dettagli, per piacè riferitevi à u codice seguente.
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);
}