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);
}