PHP ライフ サイクルと fpm (FastCGI Process Manager) の操作モード
PHP は Web モードでファイルをどのように変更し、すぐに有効にしますか? いくつかの重要なポイント 概念:
# sapi: 単純に、PHP エンジンの外部への統一インターフェイスとして理解でき、PHP が外部プログラムと対話できるようになります。
#● 生活における 4 つの重要なポイントPHP 呼び出しのサイクル: MINT -> RINT -> RSHUTDOWN -> MSHUTDOWN
# fpm: fastcgi process manager
fpm メソッドのプロセスは次のとおりです:
fpm は、sapi インターフェイス
1 を通じて php プロセスと対話します。fpm が開始すると、各拡張機能の MINT メソッドを呼び出して、一部のデータ (メモリ内に常駐) を初期化します
2. 各リクエストが来ると、まず RINT が実行されて 1 つのリクエスト行が初期化されます
3. PHP スクリプトを実行します (キャッシュされたオペコードがない場合、ここでの PHP スクリプトは動的に実行されるため、更新後にphp スクリプト、新しい php が実行されます。スクリプト、詳細はここでは説明しません)
4. RSHUTDOWN メソッドを実行します
5. fpm を停止したい場合は、次のようにします。 MSHUTDOWN
fpm の各リクエストの処理を実行する ステップ 2 ~ 4 が繰り返し実行されます。3 番目のステップでは、PHP スクリプトは毎回 1 回実行する必要があるため、動的に実行されます。 php ファイルを次の形式に変換します。 opcode プロセス (比較的時間がかかります) により、opcache ツールが作成されました。
opcache
PHP で変換されたオペコード コード ツリーを共有メモリに直接保存して直接使用できるため、毎回 PHP をオペコードに変換するオーバーヘッドが削減されます。
Opcache の問題: 彼の説明によると、php ファイルが変更されており、すぐに更新できなかったそうです。
Opcache の解決策: ファイルが更新されたかどうかを検出するのにかかる時間を設定する構成があり、2 番目のステップで関連ファイルを再ロードする機会が得られます。
もちろん、PHP ホット アップデートの効果を実現するには、fpm を直接リロードします (opcache 拡張機能は 4 番目のステップで関連するオペコード キャッシュをクリアできます)。
イラスト
PHP 関連の知識の詳細については、PHP チュートリアル をご覧ください。
以上がPHP ライフサイクルと fpm の仕組みの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。