おそらくすでにご存知のように、phpのエラーハンドラは、を使用する関数に置き換えることができます。
set_error_handler()
私は独自のエラーハンドラーを作成していますが、すべてのエラーが発生したときに何かを実行したいと思います。
現在のところ、カスタムエラー処理機能はエラーが発生するたびに実行されます。
それで、それが最後のエラーであるかどうかを知る方法は何でしょうか。それで、htmlスクリプトを実行できます。
私はあなたがregister_shutdown_function()を探していると思います:
スクリプトの実行が終了した後、またはexit()が呼び出された後に実行されるコールバックを登録します。
ただし、コールバック関数がエラーxDをトリガーしないことを確認することをお勧めします
すべてのエラーを一度に処理したい場合(つまり、致命的なエラーの前に発生したエラーの可視性が失われるため、これはお勧めしません)、sutdown関数を登録し、エラーハンドラーを介してデータを蓄積します。シャットダウン機能はエラーを報告します...
<?php
$mylog="started\n"
function logit() {
global $mylog;
if ($mylog) {
file_put_contents(tmpnam('/var/log/php', 'err');
}
}
register_shutdown_function('logit');
function whoops()
{
global $mylog;
$mylog.="something bad happenned\n";
}
set_error_handler('whoops');
....
(これはすべて自動追加ファイルで実行できます)