phpのregister_shutdown_function関数の詳細

1254 ワード

function shutdown() {

    $last_error = error_get_last();

    if ($last_error) {

        error_log(print_r($last_error, true), 3, ERROR_LOG);

    }

}

register_shutdown_function('shutdown');

脚本は時々死ぬし、いつもそんなにきれいではない.ユーザに致命的なエラーや空白のページ(display_errorsがoffに設定されている場合)を表示したくない.PHPの中にregisterというものがありますshutdown_functionの関数は、クローズを実行するときに呼び出すことができる別の関数を設定することができる.つまり、私たちのスクリプトの実行が完了したり、意外に死んだりしてPHPの実行がオフになると、私たちのこの関数が呼び出されます.したがって、スクリプトの先頭に変数falseを設定、スクリプトの末尾にtrueを設定する方法を使用して、PHPにコールバック関数を閉じてスクリプトが完了するかどうかを確認することができます.もし私たちの変数がfalseであれば、スクリプトの最後の行が実行されていないことを知っています.そのため、プログラムがどこかで実行されたに違いありません.致命的なエラーを表示する必要がある場合に、ユーザーに適切なフィードバックをどのように与えるべきかを示す非常に基本的な例を用意しました.致命的なエラーの表示を閉じることで、例をきれいに見せることができます.