PHP ライフ サイクル
php アーキテクチャ図
##SAPI
SAPI (サーバー アプリケーション プログラミング インターフェイス) は、他の開発者が Web サーバーの機能を拡張できるように、Web サーバーによって提供されるアプリケーション プログラミング インターフェイス (API) です。
SAPI は、アプリケーション プログラミング インターフェイス (API) です。他の開発者が Web サーバーの機能を拡張できるように、Web サーバーによって提供され、他の開発者は Web サーバーの機能を拡張するアプリケーション プログラミング インターフェイス (API) を開発します。外部条件を抽象化し、内部 PHP に一連の固定および統一されたインターフェイスを提供するため、PHP 自体の実装は外部環境の影響を受けることなく、ある程度の独立性を維持できます。 PHP で一般的に使用される SAPI には、cli (コマンド ライン モード、シングル プロセス)、php-fpm、CGI、Apache などがあります。 これは、同じインターフェイスを使用するストラテジー モードに少し似ていますが、実装はわずかに異なります。
PHP の起動と終了
リクエスト前の開始フェーズ: MINIT : モジュールの初期化フェーズ。拡張機能、定数、クラス、リソースなど、PHP スクリプトで使用されるすべてのものを初期化します。 (常駐メモリ。すべてのリクエストで使用できます。) PRINT: モジュールのアクティブ化フェーズ。 PHP はすべてのモジュールの RINIT 関数を呼び出します。この段階で、各モジュールは、このリクエストで使用される変数の初期化など、いくつかの関連操作も実行できます。
リクエスト後の終了段階:
RSHUTDOWN: このページのリクエストが実行されたか、ユーザーによって終了 (終了) されました。この時点で、PHP はこのリクエストで使用されたデータをリサイクルするリサイクル プログラム。リソース。今回は、ロードされたすべての拡張機能の RSHUTDOWN (一般にリクエスト シャットダウンとして知られています) メソッドが実行されます。このとき、拡張機能はカーネル内の変数テーブルを使用していくつかの処理を行うことができます。 PHP がすべての拡張 RSHUTDOWN メソッドを実行すると、変数テーブル内のすべての変数、このリクエストで要求されたすべてのメモリなど、このリクエストで使用されたすべてのリソースが解放されるためです。 MSHUTDOWN: PHP はすべての拡張 MSHUTDOWN を実行し、リソースを解放します。
PHP のライフ サイクル
1. 単一プロセス SAPI ライフ サイクル (CLI/CGI)
2. マルチプロセス SAPI ライフ サイクル (Apache2) #3. マルチスレッド SAPI ライフ サイクル4.Embed
Embed SAPI は、PHP/ZE が提供する関数を C/C 言語で呼び出すことができる特別な sapi です。
推奨チュートリアル: "
PHP チュートリアル>>
以上がPHPのライフサイクルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。