PHP-FPM

Aus Foxwiki


Was ist PHP-FPM und wie kann ich es nutzen?

PHP-FPM ist ein sogenannter FastCGI-Prozessmanager, der einen stetig laufenden Vorrat an PHP-Prozessen zur schnelleren Verarbeitung von PHP-Scripten vorhält. In Kombination mit dem Cache-Modul OpCache lässt sich mittels PHP-FPM eine deutliche Beschleunigung von PHP-Anwendungen um Faktor 2 und mehr erreichen. Dadurch lässt sich die Ladezeit von PHP-basierenden Webseiten spürbar verkürzen, und somit auch das Ranking bei vielen Suchmaschinen verbessern. Die schnellere Verarbeitung von PHP-Scripten führt auch dazu, dass ein Webserver mehr gleichzeitige Seitenanfragen verarbeiten kann, daher lohnt sich PHP-FPM insbesondere für Webseiten mit relativ vielen Aufrufen.

Hinweis: PHP-FPM lässt sich momentan nur in unseren Pro-Paketen und auf Dedicated-Servern nutzen. Bitte beachten Sie, dass PHP-FPM nicht automatisch für alle Benutzeraccounts auf Pro- und Dedicated-Servern zur Verfügung steht, sondern für jeden Account einzeln freigeschaltet und über eine .htaccess-Datei aktiviert werden muss. Falls Sie PHP-FPM nutzen oder unverbindlich testen möchten, kontaktieren Sie bitte unsere Kundenbetreuung.

PHP-FPM aktivieren

PHP-FPM wird über eine .htaccess-Datei aktiviert, die Sie einfach per (S)FTP im gewünschten Webspace-Verzeichnis ablegen. Die Aktivierung erfolgt dabei mittels folgender Direktiven:

<FilesMatch \.php$>

 SetHandler "proxy:unix:/var/run/php-fpm_u12345.sock|fcgi://localhost/"

</FilesMatch>

Ersetzen Sie dabei "u12345" durch Ihre Webserver-Benutzerkennung. PHP-FPM wird dann für dieses Verzeichnis und alle Unterverzeichnisse genutzt.

Über die phpinfo()-Funktion können Sie prüfen, ob PHP-FPM erfolgreich aktiviert wurde. Sie können dazu unser vorgefertigtes PHP-Script herunterladen, dass Sie auf den Webserver hochladen und dann per Web-Browser aufrufen. Falls PHP-FPM aktiviert ist, steht unter "Server API" "FPM/FastCGI".

PHP-FPM in einem Unterverzeichnis deaktivieren

Falls Sie PHP-FPM in einem bestimmten Unterverzeichnis wieder deaktivieren möchten, können Sie dazu folgende .htaccess-Direktive nutzen:

<FilesMatch \.php$>

 SetHandler none

</FilesMatch>

Die Einstellung gilt dann für dieses Verzeichnis sowie alle Unterverzeichnisse.

PHP-Einstellungen ändern

PHP-FPM wertet keine php.ini-Dateien aus, Sie können jedoch alternativ .user.ini-Dateien nutzen. Diese Dateien gelten - ähnliche wie .htaccess-Dateien - auch für Unterverzeichnisse, sie werden jedoch nur alle 5 Minuten neu geladen. Weiterhin können Sie bei PHP-FPM bestimmte Systemeinstellungen (memory_limit, max_execution_time, allow_url_fopen, zend_extension) nicht selbst ändern. Zur Aktivierung von Zusatzmodulen für PHP-FPM (z.B. IonCube Loader) oder anderen PHP-Konfigurationsänderungen (z.B. allow_url_fopen) wenden Sie sich bitte an unsere Kundenbetreuung.

PHP-Version ändern

Beachten Sie bitte, dass die von PHP-FPM genutzte PHP-Version für jeden Webserver-Account fest vorgegeben ist, und nicht von Ihnen selbst geändert werden kann. Um die PHP-FPM-Version ändern zu lassen, wenden Sie sich bitte an unsere Kundenbetreuung.

Was ist php-fpm und wo wird das konfiguriert?

php-fpm ist ein "PHP FastCGI Process Manager", also ein Programm, welches darauf wartet, dass ein Webserver ein php-skript über die CGI-Schnittstelle starten will. php-fpm leitet diese Anfrage an einen bereits bereitstehenden php-Prozess (der auch php-fpm heisst) weiter oder startet im Bedarfsfall einen neuen.

Die Konfigurationseinstellungen dafür befinden sich in /usr/local/etc/php-fpm.conf, welche zusätzlich alle .conf-Dateien unter /usr/local/etc/php-fpm.d einbindet. In der Hauptkonfigurationsdatei befinden sich Parameter, die üblicherweise nicht angefasst werden müssen. An zusätzlichen Konfigs ist in php-fpm.d die Datei www.conf vorinstalliert. Zu beiden Dateien gibt es auch eine Beispieldatei mit der Endung .conf.default, diese Dateien haben keine technische Funktion.

FastCGI Process Manager (FPM) ¶

+add a note

User Contributed Notes 11 notes

https://www.php.net/manual/de/install.fpm.php

https://www.php.net/manual/de/book.fpm.php

Vorteile von PHP-FPM/FCGI