Wie übergibt Nginx Umgebungsvariablen an Fast_CGI-Handler wie PHP-FPM?

Wie übergibt Nginx Umgebungsvariablen an Fast_CGI-Handler wie PHP-FPM?

Mit CGI wurde pro Anfrage ein neuer Prozess mit der verfügbaren Umgebungsvariable erstellt und die Eingabe-/Ausgabe erfolgte über stdin/stdout

Bei Fast-CGI verarbeitet ein Prozess während seiner Lebensdauer viele Anfragen, daher sind seine Umgebungsvariablen nicht auf eine bestimmte Anfrage beschränkt.

Hängt der Webserver diese an das HTTP-Dokument an oder so? Wie gelangen die Umgebungsvariablen, die nicht Teil des HTTP-Dokuments sind, zum Fast_CGI-Handler?

Antwort1

Informationen, die über Umgebungsvariablen an reguläres CGI übergeben werden, werden stattdessen als FCGI_PARAMSDaten über seinen Socket an FastCGI übergeben.

Zitat ausdie Spezifikation:

Die Responder-Anwendung empfängt CGI/1.1-Umgebungsvariablen vom Webserver über FCGI_PARAMS.

verwandte Informationen