PHP-FPM: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
== Was ist PHP-FPM und wie kann ich es nutzen? == | == Was ist PHP-FPM und wie kann ich es nutzen? == | ||
PHP-FPM ist ein ''FastCGI''-Prozessmanager, der einen stetig laufenden Vorrat an PHP-Prozessen zur schnelleren Verarbeitung von PHP-Scripten vorhält | 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 | |||
'''Hinweis:''' PHP-FPM lässt sich momentan nur in unseren Pro-Paketen und auf Dedicated-Servern nutzen | '''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 aktivieren === | ||
PHP-FPM wird über eine .htaccess-Datei aktiviert, die Sie einfach per (S)FTP im gewünschten Webspace-Verzeichnis ablegen | 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 <kbd>phpinfo()</kbd>-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" | |||
Über die <kbd>phpinfo()</kbd>-Funktion können Sie prüfen, ob PHP-FPM erfolgreich aktiviert wurde | |||
==== PHP-FPM in einem Unterverzeichnis deaktivieren ==== | ==== 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: | 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 | |||
Die Einstellung gilt dann für dieses Verzeichnis sowie alle Unterverzeichnisse | |||
=== PHP-Einstellungen ändern === | === PHP-Einstellungen ändern === | ||
PHP-FPM wertet ''keine'' php.ini-Dateien aus, Sie können jedoch alternativ .user.ini-Dateien nutzen | 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 === | === 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 | 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? = | = 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 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 | 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) == | == FastCGI Process Manager (FPM) == | ||
=== User Contributed Notes 11 notes === | === 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 == | == Vorteile von PHP-FPM/FCGI == | ||
[[Kategorie:Apache/HTTP/PHP]] | [[Kategorie:Apache/HTTP/PHP]] |
Version vom 31. März 2024, 09:27 Uhr
Was ist PHP-FPM und wie kann ich es nutzen?
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
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