PHP: PHP (Hypertext Preprocessor) は、サポート対象の 3 つの API (CGI、NSAPI、および FastCGI) のいずれかを使用することで、 Web Server で使用できます。PHP は、PHP グループから入手可能なページスクリプト言語です。サポート対象の 3 つの API のいずれかを使用して PHP ソフトウェアを設定する方法は、PHP グループの Web サイト (http://www.php.net) で詳細に説明されています。
CGI API は、使用できる中ではもっとも安定したインタフェースですが、CGI に固有のパフォーマンスの制限を受けます。
NSAPI は、 Web Server のネイティブ API を利用し、Web サーバーのメモリー内で PHP ソフトウェアを実行します。この設定により最高のパフォーマンスが提供されますが、スレッドセーフでない PHP モジュールが使用されるとサーバーがクラッシュする危険があります。
FastCGI インタフェースは、パフォーマンスと安定性を両立させます。FastCGI は、PHP ソフトウェアを Web サーバーのメモリー外で実行しつつ、要求を処理したあとも実行したままにすることを可能にします。不安定な PHP モジュールが使用されても、Web サーバーがクラッシュすることはありません。このため、PHP ソフトウェアでは FastCGI インタフェースを使用してください。
FastCGI インタフェースは、http://www.sun.com/download/products.xml?id=42d693c3 から入手可能な FastCGI アドオンをインストールすることにより、Web サーバーでサポートされます。
PHP ソフトウェアは、FastCGI プロセスとして実行した場合、PHP プロセスのライフサイクルを制御するために 2 つの環境変数を使用します。
PHP_FCGI_CHILDREN は、要求に対する応答として作成される PHP プロセスの数を決定します。
PHP_FCGI_MAX_REQUESTS は、PHP プロセス自体を終了して新しい PHP プロセスに置き換えられるまでに応答できる要求の数を決定します。
PHP_FCGI_CHILDREN を使用する代わりに FastCGI アドオンの設定パラメータ min-procs で PHP プロセスの最小数を制御することをお勧めします。