I-PHP ibamba amaphutha wezinga le-FATAL

Isethenjwa esisemthethweni

Iwebhusayithi esemthethweni set_error_handler register_shutdown_function

Ungawabamba kanjani wonke amaphutha ngokuphelele

set_error_handler ingasetshenziselwa ukuthwebula izinhlobo eziningi zamaphutha. Uma kuhlangatshezwana nephutha leleveli le-FATAL, ngoba i-PHP iqeda umsebenzi ngqo, umsebenzi wokubuyela emuva osethwe yi-set_error_handler awunakubangelwa. Ngalesi sikhathi, sidinga ukusebenzisa irejista_shutdown_function ukusetha umsebenzi wokubuyela emuva ekuqedeni uhlelo. Kumele kuqashelwe ukuthi ukubuyela emuva okusethwe yi-registry_shutdown_function kwenziwa ngemuva kokuthi uhlelo lunqanyuliwe, noma ngabe kunephutha yini enqubeni. Ngakho-ke kulokhu kubuyela emuva, sidinga futhi ukunquma ukuthi ngabe kwenzeke iphutha, futhi uma ngabe kwenzeke iphutha, sizolirekhoda kulogi. Ngemininingwane, sicela ubheke kule khodi elandelayo.

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