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