PHP FATAL நிலை பிழைகளைப் பிடிக்கும்
அதிகாரப்பூர்வ குறிப்பு
அதிகாரப்பூர்வ வலைத்தளம் set_error_handler register_shutdown_functionஎல்லா பிழைகளையும் சரியாகப் பிடிப்பது எப்படி
set_error_handler ஐ பெரும்பாலான பிழை வகைகளைப் பிடிக்கப் பயன்படுத்தலாம். ஒரு FATAL நிலை பிழை ஏற்பட்டால், PHP நேரடியாக செயல்பாட்டை நிறுத்துகிறது, set_error_handler அமைத்த கால்பேக் செயல்பாட்டைத் தூண்ட முடியாது. இந்த நேரத்தில், நிரல் நிறுத்தத்திற்கான கால்பேக் செயல்பாட்டை அமைக்க நாங்கள் register_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);
}