ホームページ  >  記事  >  バックエンド開発  >  PHPライフサイクルの詳しい説明

PHPライフサイクルの詳しい説明

小云云
小云云オリジナル
2018-02-23 11:21:041331ブラウズ

SAPI

SAPI(Server Application Programming Interfac) is an application programming interface (API) provided by the web server to help other developers in extending the web server capabilities.

SAPI は、他の開発プログラムが Web サーバーの機能を拡張するのに役立つアプリケーション プログラミング インターフェイス (API) です。外部条件を抽象化し、内部 PHP に一連の固定および統一されたインターフェイスを提供するため、PHP 自体の実装は外部環境の影響を受けることなく、ある程度の独立性を維持できます。
PHP で一般的に使用される SAPI には、cli (コマンド ライン モード、シングル プロセス)、php-fpm、CGI、Apache などがあります。
同じインターフェイスを使用し、ストラテジー モードに似ていますが、実装は少し異なります。

PHPライフサイクルの詳しい説明

PHPの起動と終了

  • リクエスト前の開始フェーズ:

    • MINIT: モジュールの初期化フェーズ。拡張機能、定数、クラス、リソースなど、PHP スクリプトで使用されるすべてのものを初期化します。 (常駐メモリ。すべてのリクエストで使用できます。)

    • PRINT: モジュールのアクティブ化フェーズ。 PHP はすべてのモジュールの RINIT 関数を呼び出します。この段階で、各モジュールは使用される変数の初期化など、いくつかの関連操作も実行できます。 本次请求

  • リクエスト後の終了段階:

    • RSHUTDOWN: ページリクエストが実行されたか、ユーザーによって終了(終了)されました。この時点で、PHPはリサイクルするためのリサイクルプログラムを開始します。このリクエストで使用されるリソース。このとき、ロードされたすべての拡張機能の RSHUTDOWN (一般にリクエスト シャットダウン) メソッドが実行されます。このとき、拡張機能はカーネル内の変数テーブルを使用していくつかの処理を行うことができます。 PHP がすべての拡張 RSHUTDOWN メソッドを実行すると、変数テーブル内のすべての変数、このリクエストで適用されたすべてのメモリなど、このリクエストで使用されたすべてのリソースが解放されるためです。

    • MSHUTDOWN: PHP はすべての拡張 MSHUTDOWN を実行し、リソースを解放します。

PHP ライフサイクル

1. 単一プロセス SAPI ライフサイクル (CLI/CGI)

PHPライフサイクルの詳しい説明

2. マルチプロセス SAPI ライフサイクル (Apache2)

PHPライフサイクルの詳しい説明

3. More Thread の SAPI ライフサイクル

PHPライフサイクルの詳しい説明

4.Embed

Embed SAPI は、PHP/ZE が提供する関数を C/C++ 言語で呼び出すことができる特別な sapi です。 (よくわからないので、明日見てみます! http://www.laruence.com/2008/09/23/539.html)

概要

見てみましょうPHP のライフサイクルと PHP の実行プロセス全体。 SAPI を介して PHP モジュールと通信する方法

(写真は基本的に、先人の肩の上に立って参照リンクから取得したものです。)

関連する推奨事項:

PHP ソース コード分析 - PHP ライフ サイクル_ PHP チュートリアル

php変数ライフサイクル: PHPソースコード分析-PHPライフサイクル

PHPライフサイクルオペコードキャッシュ PHP辞書スキャンとは何ですか?対処方法

以上がPHPライフサイクルの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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