Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> LinuxでのPHPの3つの動作モード

LinuxでのPHPの3つの動作モード

  

Linuxでは、phpには3つの動作モードがあります。1. APACHE2HANDLER PHP
Apacheモジュールとして、Apacheサーバーはシステム起動後に複数のプロセスレプリカを事前に生成します。要求が発生したらすぐにメモリー内に留まり、これらの空きサブプロセスを使用するので、子プロセスによる遅延はありません。これらのサーバーコピーは、HTTP要求を処理した直後には終了しませんが、次の要求のためにコンピュータに残ります。クライアントブラウザへの要求は速くなり、パフォーマンスも向上します。

2. CGIcgiメソッドは、cgiの子プロセスを作成するための接続要求を検出してから要求を処理し、処理後に子プロセスを終了します。これがfork-and-executeモードです。では、cgi wayサーバーにはいくつのcgiサブプロセスがありますか?サブプロセスの繰り返しロードがcgiのパフォーマンス低下の主な理由です。

3. CGI-FCGIFastCGIは、いつでも実行可能な長命のCGIのようなものです。 PHPは、管理のために完全にPHP FastCGI Process Managerと呼ばれるPHP-FPM(FastCGI Process Manager)を使用します。

FastCGIのしくみ1. Web Serverの起動時にFastCGI Process Manager(IIS ISAPIまたはApache Module)をロードします2. FastCGI Process Managerは自身を初期化し、複数のCGIインタプリタプロセスを起動します。 Webサーバからの接続を待ちます。 3.クライアントがWebサーバーへのアクセスを要求すると、FastCGI Process ManagerはCGIインタプリタを選択して接続します。 WebサーバーはCGI環境変数と標準入力をFastCGI子プロセスphp-cgiに送信します。 4. FastCGI子プロセスが処理を終了したら、同じ接続からWebサーバへの標準出力とエラー情報を返します。 FastCGI子プロセスが接続を閉じると、要求は処理されます。 FastCGI子プロセスは、(Webサーバーで実行されている)FastCGI Process Managerからの次の接続を待機して処理します。 CGIモードでは、php-cgiはここで終了します。

上記の場合、CGIが通常どれだけ遅いか想像できます。すべてのWebリクエストPHPはphp.iniを再解析し、すべての拡張機能をリロードし、そしてすべてのデータ構造を再初期化する必要があります。 FastCGIでは、これらすべてがプロセスの開始時に一度だけ行われます。追加の利点は、持続的データベース接続が機能することです。
zh-CN"],null,[1],zh-TW"]]]

Copyright © Windowsの知識 All Rights Reserved