register_shutdown_function メソッドを使用すると、実行のシャットダウン時に呼び出すことができる別の関数を設定できます。
つまり、スクリプトの実行が完了したとき、または予期せぬ異常終了により PHP の実行がシャットダウンされようとしたときに、この関数が呼び出されます。
【利用シーン】
① ページは(ユーザー)によって強制的に停止されました
② プログラムコードが予期せず終了する、またはタイムアウトする
③ php4にはデストラクターがありません。この関数を使用してデストラクターをシミュレートできます
shutdown.php
コードをコピーします コードは次のとおりです:
header("content-type:text/html;charset=utf-8");
クラスシャットダウン{
パブリック関数 endScript(){
If(error_get_last()){
echo '
';<br> print_r(error_get_last());<br> echo '';
register_shutdown_function(array(new Shutdown(), 'endScript'));
//エラーテスト
エコー md6();
実行、出力:
コードをコピーします コードは次のとおりです:
( ! ) 致命的なエラー: D:practisephpErrorshutdown.php の 18 行目で未定義関数 md6() を呼び出しています
配列
(
[タイプ] => 1
[メッセージ] => 未定義関数 md6() の呼び出し
[ファイル] => D:practisephpErrorshutdown.php
[行] => 18
)
スクリプトの終わり
コードをコピーします コードは次のとおりです:
D:practisephpErrorerror.txt:
これはテストです
注: register_shutdown_function メソッドはメモリから呼び出されるため、file_put_contents メソッドを使用する場合は、最初のパラメータに絶対パスを使用する必要があります。