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