PHP FATAL ലെവൽ പിശകുകൾ കണ്ടെത്തുന്നു
Reference ദ്യോഗിക റഫറൻസ്
ഔദ്യോഗിക വെബ്സൈറ്റ് set_error_handler register_shutdown_functionഎല്ലാ പിശകുകളും എങ്ങനെ കൃത്യമായി പിടിക്കാം
മിക്ക പിശക് തരങ്ങളും പിടിച്ചെടുക്കാൻ set_error_handler ഉപയോഗിക്കാം.ഒരു FATAL ലെവൽ പിശക് നേരിടുമ്പോൾ, PHP നേരിട്ട് പ്രവർത്തനം അവസാനിപ്പിക്കുന്നതിനാൽ, set_error_handler സജ്ജമാക്കിയ കോൾബാക്ക് പ്രവർത്തനം പ്രവർത്തനക്ഷമമാക്കാൻ കഴിയില്ല. ഇപ്പോൾ, പ്രോഗ്രാം അവസാനിപ്പിക്കുന്നതിനായി കോൾബാക്ക് പ്രവർത്തനം സജ്ജീകരിക്കുന്നതിന് ഞങ്ങൾ രജിസ്റ്റർ_ഷട്ട്ഡൗൺ_ഫംഗ്ഷൻ ഉപയോഗിക്കേണ്ടതുണ്ട്. പ്രക്രിയ അവസാനിപ്പിച്ചതിനുശേഷം, രജിസ്റ്റർ_ഷട്ട്ഡ_ൺ_ഫംഗ്ഷൻ സജ്ജമാക്കിയ കോൾബാക്ക് എക്സിക്യൂട്ട് ചെയ്യപ്പെടുന്നു എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്. അതിനാൽ ഈ കോൾബാക്കിൽ, ഒരു പിശക് സംഭവിച്ചിട്ടുണ്ടോ എന്നും ഞങ്ങൾ നിർണ്ണയിക്കേണ്ടതുണ്ട്, ഒരു പിശക് സംഭവിച്ചിട്ടുണ്ടെങ്കിൽ, ഞങ്ങൾ അത് ലോഗിൽ രേഖപ്പെടുത്തും. വിശദാംശങ്ങൾക്ക്, ഇനിപ്പറയുന്ന കോഡ് പരിശോധിക്കുക.
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);
}