PHP-FPM: Unterschied zwischen den Versionen

Aus Foxwiki
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. 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 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.
'''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. Die Aktivierung erfolgt dabei mittels folgender Direktiven:
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:


<code><FilesMatch \.php$></code>
<FilesMatch \.php$>
 SetHandler "proxy:unix:/var/run/php-fpm_u12345.sock|fcgi://localhost/"
</FilesMatch>


<code> SetHandler "proxy:unix:/var/run/php-fpm_u12345.sock|fcgi://localhost/"</code>
Ersetzen Sie dabei "u12345" durch Ihre Webserver-Benutzerkennung
* PHP-FPM wird dann für dieses Verzeichnis und alle Unterverzeichnisse genutzt


<code></FilesMatch></code>
Ü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
Ersetzen Sie dabei "u12345" durch Ihre Webserver-Benutzerkennung. PHP-FPM wird dann für dieses Verzeichnis und alle Unterverzeichnisse genutzt.
* 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. 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 ====
==== 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:


<code><FilesMatch \.php$></code>
<FilesMatch \.php$>
 SetHandler none
</FilesMatch>


<code> SetHandler none</code>
Die Einstellung gilt dann für dieses Verzeichnis sowie alle Unterverzeichnisse
 
<code></FilesMatch></code>
 
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. 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-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.&nbsp;IonCube Loader) oder anderen PHP-Konfigurationsänderungen (z.B.&nbsp;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. Um die PHP-FPM-Version ändern zu lassen, wenden Sie sich bitte an unsere Kundenbetreuung.
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 leitet diese Anfrage an einen bereits bereitstehenden php-Prozess (der auch php-fpm heisst) weiter oder startet im Bedarfsfall einen neuen.
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.
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 ===
<nowiki>https://www.php.net/manual/de/install.fpm.php</nowiki>
# https://www.php.net/manual/de/install.fpm.php
 
# https://www.php.net/manual/de/book.fpm.php
<nowiki>https://www.php.net/manual/de/book.fpm.php</nowiki>


== 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

FastCGI Process Manager (FPM)

User Contributed Notes 11 notes

  1. https://www.php.net/manual/de/install.fpm.php
  2. https://www.php.net/manual/de/book.fpm.php

Vorteile von PHP-FPM/FCGI