PHP dia mahatratra ny lesoka FATAL

Fanovozan-kevitra ofisialy

Tranonkala ofisialy set_error_handler register_shutdown_function

Ahoana ny fomba hisamborana tanteraka ny lesoka rehetra

set_error_handler dia azo ampiasaina hisamborana karazana hadisoana rehetra. Rehefa sendra lesoka haavo FATAL, satria ny PHP dia mamarana ny fandidiana mivantana, ny fiantsoana callback napetrak'i set_error_handler dia tsy azo atrehana. Amin'izao fotoana izao dia mila mampiasa register_shutdown_unction hametrahana ny fiantsoana miverina hiato amin'ny famaranana ny programa isika. Marihina fa ny antso miverina napetrak'i register_shutdown_unction dia novonoina taorian'ny famaranana ny programa, na inona na inona olana misy na tsia. Ka amin'ity antso miverina ity dia mila mamaritra ihany koa isika raha nisy lesoka nitranga, ary raha nisy ny lesoka dia hosoratantsika ao anaty lozisialy izany. Raha mila pitsopitsony dia jereo ity kaody manaraka ity.

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