nginx はどのようにして php-fpm などの fast_cgi ハンドラーに環境変数を渡すのでしょうか?

nginx はどのようにして php-fpm などの fast_cgi ハンドラーに環境変数を渡すのでしょうか?

CGIでは、環境変数が利用可能なリクエストごとに新しいプロセスが作成され、入力出力はstdin/stdoutを介して行われます。

高速 CGI では、1 つのプロセスがその存続期間中に多数のリクエストを処理するため、その環境変数は特定のリクエストに固有のものではありません。

Web サーバーはこれらを http ドキュメントなどに追加しますか? http ドキュメントの一部ではない環境変数はどのようにして fast_cgi ハンドラーに渡されるのですか?

答え1

環境変数を介して通常の CGI に渡される情報は、代わりにソケットを介してFCGI_PARAMSデータとして FastCGI に渡されます。

引用元仕様:

Responder アプリケーションは、FCGI_PARAMS を介して Web サーバーから CGI/1.1 環境変数を受け取ります。

関連情報