PHP-FPM stellt eine neue PHP-Funktion »fastcgi_finish_request()
«
bereit. Wie ihr Name schon andeutet, beendet sie die Anfrage, das Skript läuft hingegen im Hintergrund noch weiter. Ein Beispiel für ihren Praxiseinsatz zeigt Listing 3. »fastcgi_finish_request()
«
existiert allerdings nur in PHP-FPM, auf anderen PHP-Interpretern läuft das Skript nicht.
Listing 3
Beispiel für fastcgi_finish_request()
PHP-FPM selbst erhöht die Sicherheit und skaliert gut, beschleunigt durch seine Arbeitsweise aber nicht automatisch die Auslieferungszeiten gegenüber dem herkömmlichen FastCGI-Interpreter. Die im Internet veröffentlichten beeindruckenden Zahlen vergleichen meist Apache 2 inklusive »mod_php
«
mit einem schlanken Webserver wie Ngnix und PHP-FPM. Wer also die Antwortgeschwindigkeit insgesamt erhöhen möchte, muss noch weiter optimieren. (ofr)
Nginx
In der Praxis kombinieren viele Administratoren PHP-FPM mit dem schlanken und schnellen Webserver Nginx. Damit die beiden zusammenarbeiten, muss die Ngnix-Konfiguration die Zeilen
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi_params; # ... }
enthalten. Wenn Sockets zum Einsatz kommen, ersetzt man die Zeile »fastcgi_pass
«
gegen:
fastcgi_pass unix:/tmp/php5-fpm.socket
»/tmp/php5-fpm.socket
«
ist dabei der Name des Sockets.
Infos
In der neuesten Version unterstützt der auf Sicherheit getrimmte Webserver erstmals das kürzlich standardisierte HSTS-Protokoll.