Diskussion:PHP-FPM
PHP-FPM - Kurzbeschreibung
Beschreibung
PHP-FPM ist ein 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
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