Dokumentation
From PHP-FPM
In der Dokumentation wird kurz umschrieben wie PHP-FPM auf einem Linux System installiert werden kann. PHP-FPM wurde bisher auf Linux, Mac OS X, Solaris und FreeBSD erfolgreich getestet. Die Beschreibung bezieht sich auf Debian GNU/Linux, sollte jedoch auf jedem Linux System in etwa gleich ablaufen.
Contents |
Installation
Zur Installation ist es notwendig PHP selbst zu kompilieren um den PHP-FPM Patch auch anwenden zu können. Wir wechseln also in ein passendes Verzeichnis:
# cd /usr/local/src
Als nächstes laden wir den aktuellen PHP-Tarball herunter. Zum Zeitpunkt der Erstellung dieses Installations-Leitfadens ist dies PHP 5.3, der Vorgang sollte jedoch für alle PHP-Versionen der Selbe bleiben. Die aktuellen PHP Downloads gilt es sich direkt von der offiziellen PHP Website herunterzuladen: PHP Downloads
# wget http://de.php.net/get/php-5.3.0.tar.gz/from/this/mirror # tar xzvf php-5.3.0.tar.gz
Der Tarball kann nun getrost gelöscht werden da er nicht mehr benötigt wird. Als nächstes gilt es den aktuellen PHP-FPM Patch herunterzuladen, siehe Downloads.
# wget http://php-fpm.org/downloads/php-5.3.0-fpm-0.5.12-rc.diff.gz # gzip -cd php-5.3.0-fpm-0.5.12-rc.diff.gz | patch -d php-5.3.0 -p1
Auch hier kann der Tarball jetzt natürlich getrost gelöscht werden. Nach einspielen des Patches für PHP konfigurieren wir nun die PHP-Installation. Unten werden nur die essentiellen Optionen die zur korrekten Ausführung von PHP-FPM notwendig sind angeführt, weitere erweiternde PHP-Funktionen können wie gewohnt ergänzt werden (siehe ./configure --help). Hier ist der einzige Unterschied zwischen PHP 5.3 und älteren Versionen.
PHP 5.2.x
# cd php-5.2.10 && ./configure --enable-fastcgi --enable-fpm
PHP 5.3.x
# cd php-5.3.0 && ./configure --enable-fpm
Nun kann die Installation wie gewohnt durchgeführt werden.
# make all install
Troubleshooting
configure: error: XML configuration could not be found
Running FastCGI Process Manager checks checking for php-fpm config file path... $prefix/etc/php-fpm.conf checking for php-fpm log file path... $prefix/logs/php-fpm.log checking for php-fpm pid file path... $prefix/logs/php-fpm.pid checking for XML configuration checking for xml2-config... no checking for xml-config... no configure: error: XML configuration could not be found
Lösung: libxml2-dev installieren.
Konfiguration
Nachdem PHP nun mit PHP-FPM auf unserem System installiert ist, gilt es die Grundeinstellungen von PHP-FPM zu konfigurieren. Die Konfigurationsdatei findet ihr unter folgendem Pfad:
# editor /etc/php-fpm.conf
PHP-FPM starten
Um PHP-FPM zu starten ist folgendes Kommando einzugeben ({$PATH} durch deinen tatsächlichen Pfad austauschen), des Weiteren könnt ihr das Kommando stop und restart verwenden.
# {$PATH}/php-fpm start
Ein Eintrag im init.d Verzeichnis zum starten/neu starten/stoppen von PHP-FPM ist zu empfehlen, da man sich ansonsten den Pfade merken muss und das ist dann doch etwas mühsam. Um das Ganze jedoch so einfach wie möglich zu halten erstellen wir einfach einen Symlink.
# ln -s {$PATH}/php-fpm /etc/init.d/php-fpm
Um zu überprüfen ob PHP-FPM auf deinem Server auch korrekt ausgeführt wird kannst du folgendes tun.
# netstat -an|grep :9000 tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
Die Log-Datei kannst du natürlich auch zu Rate ziehen falls notwendig: /var/log/php-fpm.log
Automatischer PHP-FPM Start
Damit PHP-FPM gleich beim Boot des Servers gestartet wird musst du folgendes machen.
Debian
# update-rc.d php-fpm defaults
Andere UNIX Derivate
# editor /etc/rc.local # /etc/init.d/php-fpm start
Weblinks
- Install php with php-fpm - WebHostingNeeds.com (eng.)
- Nginx + PHP + PHP-FPM on Debian Etch 4.0 - Yawn.it (eng.)
- Drupal + nginx + Fastcgi (PHP-FPM) setup and configuration (eng.)
- How to install PHP-FPM + nginx on CentOS 5.3 (eng.)
Hauptseite | Was ist FastCGI | Was ist PHP-FPM | Funktionsumfang | Download | Dokumentation | FAQ | ChangeLog | Wunschliste | Über den Autor
