Nakuha ng PHP ang mga error sa antas ng FATAL
Opisyal na sanggunian
Opisyal na website set_error_handler register_shutdown_functionPaano mahuli ang lahat ng mga error nang perpekto
Ang set_error_handler ay maaaring magamit upang makuha ang karamihan sa mga uri ng error. Kapag nakatagpo ang isang error sa antas ng FATAL, dahil ang PHP na direktang tinatapos ang operasyon, ang function ng callback na itinakda ng set_error_handler ay hindi maaaring ma-trigger. Sa oras na ito, kailangan naming gumamit ng register_shutdown_unction upang maitakda ang pagpapaandar ng callback para sa pagwawakas ng programa. Dapat pansinin na ang callback na itinakda ng register_shutdown_unction ay naisakatuparan matapos ang programa ay natapos, hindi alintana kung mayroong isang error sa proseso. Kaya sa callback na ito, kailangan din nating matukoy kung may naganap na error, at kung may naganap na error, itatala namin ito sa log. Para sa mga detalye, mangyaring sumangguni sa sumusunod na code.
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);
}