ホームページ バックエンド開発 PHPチュートリアル PHPの register_shutdown_function 関数の分析

PHPの register_shutdown_function 関数の分析

Apr 09, 2018 pm 04:13 PM
function shutdown

この記事は PHP register_shutdown_function 関数の分析と紹介です。必要な方は参考にしてください。

スクリプトは頻繁に停止するため、致命的なエラーや空白を表示する必要はありません。 (display_errors が off に設定されている場合) PHP には register_shutdown_function という関数があり、これを使用すると、実行がシャットダウンされたときに呼び出すことができる別の関数を設定できます。 PHP の実行がシャットダウンされようとすると、関数が呼び出されます。そのため、スクリプトの先頭で変数を false に設定し、スクリプトの最後で true に設定するという方法を使用できます。スクリプトの最後で PHP がコールバックを閉じるようにします。関数はスクリプトが完了したかどうかをチェックします。変数がまだ false の場合は、スクリプトの最後の行が実行されていないことがわかります。そのため、スクリプトは途中で終了したはずです。致命的なエラーを表示する必要がある場合、ユーザーに適切なフィードバックをどのように提供するかを示す非常に基本的な例を用意しました。致命的なエラーの表示をオフにすることで、例の見栄えを良くすることができます (注釈: display_errors を設定できます)。

コードをコピー コードは次のとおりです:


$clean = false;
function shutdown_func(){
global $clean;
if (!$clean){
die( "クリーンなシャットダウンではありません");
}
return false ;
}
register_shutdown_function("shutdown_func");
$a = 1;
$a = new FooClass() // 致命的なエラーで失敗します
$clean = true;
?>


ご覧のとおり、shutdown コールバック関数の実行中に clean 変数が true に設定されていない場合、shutdown_func 関数は何かを出力します。これはクラスにパッケージ化できます。 (グローバル変数を使用せず)
PHP は、スクリプトが終了する前に登録された関数、つまり PHP プログラムの実行が完了した後に実行される関数をコールバックできる register_shutdown_function() 関数を提供します。
register_shutdown_function 実行メカニズムは次のとおりです: PHP は呼び出される関数をメモリに転送します。この関数は、ページ上のすべての PHP ステートメントが実行されたときに再度呼び出されます。現時点では、PHP ページからではなくメモリから呼び出されるため、PHP は元のページが存在しないとすでに想定しているため、上記の例では相対パスを使用できないことに注意してください。相対パスはまったくありません。
注: register_shutdown_function は、すべての PHP ステートメントが実行された後に関数を呼び出すことを意味します。クライアントがストリーミング ブラウザー ページを閉じるときに関数を呼び出すとは理解しないでください。
呼び出し条件は次のように理解できます:
1. ユーザーによってページが強制的に停止されたとき
2. プログラムコードが時間切れになったとき
3. PHP コードの実行が完了したときコード実行の例外、エラー、および警告は推奨されています:php関数の静的変数を使用する方法

以上がPHPの register_shutdown_function 関数の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Linux shutdown コマンドはすぐにシャットダウンできますか? Linux shutdown コマンドはすぐにシャットダウンできますか? Jan 28, 2023 pm 05:26 PM

Linux のシャットダウン コマンド shutdown を使用すると、root ユーザーは「shutdown -h now」コマンドを実行するだけで、コンピュータをすぐにシャットダウンできます。 shutdown コマンドを使用すると、シャットダウン プロセスを実行し、シャットダウンする前にユーザーが実行しているすべてのプログラムにメッセージを送信できます。shutdown コマンドを使用するには、システム管理者の root ユーザーが必要です。

機能とはどういう意味ですか? 機能とはどういう意味ですか? Aug 04, 2023 am 10:33 AM

ファンクションとは、関数を意味します。これは、特定の関数を備えた再利用可能なコード ブロックです。プログラムの基本コンポーネントの 1 つです。入力パラメータを受け取り、特定の操作を実行し、結果を返すことができます。その目的は、再利用可能なコード ブロックをカプセル化することです。コードの再利用性と保守性を向上させるコード。

Windows 10/11で自動シャットダウンを設定する3つの方法 Windows 10/11で自動シャットダウンを設定する3つの方法 May 01, 2023 pm 10:40 PM

忙しい世界では、定期的またはタイムリーにトリガーしたいことを自動化したいと考えています。自動化はタスクの制御に役立ち、タスクを実行する労力を軽減します。これらのタスクの 1 つは、コンピュータをシャットダウンすることである場合があります。コンピュータを定期的にシャットダウンすることも、特定の時間または曜日にシャットダウンすることも、または一度にシャットダウンすることもできます。システムが自動的にシャットダウンするようにタイマーを設定する方法を見てみましょう。方法 1: [ファイル名を指定して実行] ダイアログ ボックスを使用します。 ステップ 1: Win + R キーを押し、shutdown-s-t600 と入力して、[OK] をクリックします。注: 上記のコマンドでは、600 は時間を秒単位で表します。必要に応じて変更できます。分や時間ではなく、常に秒単位である必要があります

Linux でスケジュールされたシャットダウン コマンドを設定する方法 Linux でスケジュールされたシャットダウン コマンドを設定する方法 Feb 18, 2024 pm 11:55 PM

Linux のスケジュールされたシャットダウン コマンドとは何ですか? Linux システムを使用している場合、多くの場合、大量のファイルをダウンロードした後に自動的にシャットダウンする、またはサーバーが使用されなくなったときに自動的にシャットダウンするなど、シャットダウンをスケジュールする必要があります。 Linux システムでは、「shutdown」コマンドを使用してスケジュールされたシャットダウンを実装できます。 「shutdown」コマンドを使用すると、ユーザーはシステムをシャットダウンまたは再起動し、遅延時間を設定できます。コマンドにパラメータを追加することで、スケジュールシャットダウン機能を実装できます。コマンドの基本的な形式は次のとおりです。

MySQL が予期せずシャットダウンしました - MySQL エラーを解決する方法: MySQL が予期せずシャットダウンしました MySQL が予期せずシャットダウンしました - MySQL エラーを解決する方法: MySQL が予期せずシャットダウンしました Oct 05, 2023 pm 02:42 PM

MySQL は、さまざまな Web サイトやアプリケーションで広く使用されている、一般的に使用されているリレーショナル データベース管理システムです。ただし、MySQL の使用中にさまざまな問題が発生する可能性があります。その 1 つは、MySQL が予期せず終了することです。この記事では、MySQL のエラー問題を解決する方法について説明し、いくつかの具体的なコード例を示します。 MySQL が予期せずシャットダウンした場合は、まず MySQL エラー ログを確認してシャットダウンの理由を理解する必要があります。通常、MySQL エラー ログは MySQL インストール ディレクトリにあります。

Python の「enumerate()」関数の目的は何ですか? Python の「enumerate()」関数の目的は何ですか? Sep 01, 2023 am 11:29 AM

この記事では、Python の enumerate() 関数と「enumerate()」関数の目的について学びます。 enumerate() 関数とは何ですか? Python の enumerate() 関数は、データ コレクションをパラメータとして受け取り、列挙オブジェクトを返します。列挙オブジェクトはキーと値のペアとして返されます。キーは各項目に対応するインデックス、値は項目です。構文 enumerate(iterable,start) パラメータ iterable - 渡されたデータ コレクションは、iterablestart と呼ばれる列挙オブジェクトとして返すことができます。 - 名前が示すように、列挙オブジェクトの開始インデックスは start によって定義されます。無視したら

MySQL.procテーブルの役割と機能の詳しい説明 MySQL.procテーブルの役割と機能の詳しい説明 Mar 16, 2024 am 09:03 AM

MySQL.proc テーブルの役割と機能の詳細な説明。MySQL は人気のあるリレーショナル データベース管理システムです。開発者が MySQL を使用する場合、多くの場合、ストアド プロシージャ (StoredProcedure) の作成と管理が必要になります。 MySQL.proc テーブルは非常に重要なシステム テーブルであり、ストアド プロシージャの名前、定義、パラメータなど、データベース内のすべてのストアド プロシージャに関連する情報が保存されます。この記事では、MySQL.proc テーブルの役割と機能について詳しく説明します。

shutdown すぐにシャットダウンするコマンドは何ですか? shutdown すぐにシャットダウンするコマンドは何ですか? Feb 27, 2023 am 11:23 AM

すぐにシャットダウンするシャットダウン コマンドは「shutdown -h now」です。シャットダウン コマンドを使用すると、シャットダウン プロセスを実行し、シャットダウンする前にユーザーが実行しているすべてのプログラムにメッセージを送信できます。シャットダウンは、コンピュータを再起動するためにも使用できます。 。

See all articles