ホームページ  >  記事  >  バックエンド開発  >  CGI、FastCGI、PHP_FPM の関係は何ですか?

CGI、FastCGI、PHP_FPM の関係は何ですか?

不言
不言オリジナル
2018-04-04 14:14:561829ブラウズ

最近在使用vagrant搭建php的开发环境。
其中在搭建调试过程中,发现了很多问题(毕竟之前一直在用集成开发环境,一键安装搞定。。)。
进而调查了下CGI FastCGI 与 PHP-FPM 现总结如下:

リクエストプロセスの概要

ブラウザを使用してindex.phpにアクセスしたとき、具体的には何を経験しましたか?

CGI、FastCGI、PHP_FPM の関係は何ですか?

この写真を読んだ後、少しは明確になったでしょうか?以下で詳しく説明しましょう。

URLアドレスを入力してindex.phpにアクセスすると、ブラウザ(クライアント)はサーバー(nginx、apacheなど)にリクエストを送信しますが、サーバーはphpなどのhtmlなどの静的リソースのみを処理できます。 、jsp など。動的リソースはサーバーでは処理できないため、それらを処理するには特定のパーサーが必要です。では、サーバーとパーサーはどのように通信 (連絡) するのでしょうか。 CGI を使用して通信します。通信後、PHP-FPM を使用して php ファイルを解析し、解析が完了した後、サーバーはブラウザ (クライアント) に戻ります。このようにして、リクエストのプロセスは終了します。

つまり:

  • CGI は Web サーバーと Web アプリケーション間のデータ交換用のプロトコルです。

  • FastCGI: CGI と同じ通信プロトコルですが、CGI よりも効率が最適化されています。

  • PHP-CGI: Webサーバーが提供するCGIプロトコルに対するPHP(Webアプリケーション)のインターフェースプログラムです。

  • PHP-FPM: PHP (Web アプリケーション) によって Web サーバーに提供される FastCGI プロトコルのインターフェイス プログラムであり、比較的インテリジェントなタスク管理も提供します。

参考資料
CGI、FastCGI、PHP-FPMの関係の図解

関連する推奨事項:

php-fpm - 実行中のphp_fpmの設定ファイルのパスを確認する方法

以上がCGI、FastCGI、PHP_FPM の関係は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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