最初はこの 2 つは違うものだと思っていましたが、いろいろ情報を調べた結果、どちらも実際には php の FastCGI マネージャーであり、どちらも php-cgi プロセスを管理するために php に付属していることがわかりました。マネージャーであり、php-fpm は PHP 用に特別に作成された FastCGI マネージャーです (これは PHP 5.3 より前のパッチ機能であり、5.3 以降の PHP に追加され、元の php-cgi を置き換えました)。
PHP-CGIPHP-CGI は、PHP に付属する FastCGI マネージャーです。 PHP-CGIの欠点:
php-cgi php.iniの設定を変更した後、新しいphp-iniを有効にするためにphp-cgiを再起動する必要があり、スムーズに再起動できません。
php-cgiプロセスを直接強制終了すると、phpは実行できなくなります。 (PHP-FPM と Spawn-FCGI にはこの問題はありません。デーモン プロセスは新しい子プロセスをスムーズに再生成します。)
PHP-FPMPHP-FPM は PHP FastCGI マネージャーであり、PHP にのみ使用されます。 http://php-fpm.org/download からダウンロードできます。 PHP-FPM は実際には PHP ソース コードのパッチであり、FastCGI プロセス管理を PHP パッケージに統合することを目的としています。 PHP ソース コードにパッチを適用する必要があり、PHP をコンパイルしてインストールした後に使用できるようになります。 最新のPHP 5.3.2のソースコードツリーにPHP-FPMを直接統合するブランチがダウンロードできるようになりました。次のバージョンではPHPのメインブランチに統合される予定だそうです。 Spawn-FCGI と比較すると、PHP-FPM は CPU とメモリの制御が優れており、前者はクラッシュしやすく、crontab で監視する必要がありますが、PHP-FPM にはそのような問題はありません。 PHP5.3.3 には php-fpm が統合されており、サードパーティのパッケージではなくなりました。 PHP-FPM は、メモリとプロセスを効果的に制御し、PHP 設定をスムーズにリロードできる、より優れた PHP プロセス管理方法を提供します。そのため、spawn-fcgi よりも多くの利点があるため、PHP に正式に組み込まれています。 PHP-FPM は、./configure で –enable-fpm パラメーターを渡すことでオンにできます。 詳しくは、CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGIとは何ですか?を参照してください。
著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。
以上、phpに搭載されているphp-fpmとphp-cgiの理解と修正について、内容も含めて紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。