Schätzungsweise bis zu 80% der Top-10-Millionen-Webseiten im Internet nutzen PHP als serverseitige Sprache. Der Managed Simple Service PHP ist somit ein sehr wichtiger Bestandteil der Managed (V)Server von nine.ch. Da der Service allerdings in einigen verschiedenen Versionen und Konfigurationen daherkommt, soll dieser Beitrag dies etwas vereinfachen und einen Überblick schaffen.
Versionen
Die verfügbaren PHP-Versionen hängen stark von der Ubuntu-Version ab (Stand Januar 2017):
Ubuntu Version | Trusty (14.04) | Xenial (16.04) |
---|---|---|
PHP Versionen | 5.5 / 5.6 / 7.0 | 7.0 |
mod_php (Standard) | ✓ | ✓ |
PHP-FPM verfügbar | ✓ | ✓ |
Unter Ubuntu 14.04 können PHP 5.6 und 7.0 parallel betrieben werden. Bei allen anderen Ubuntu-Versionen muss die Version durch nine.ch umkonfiguriert werden.
Installation einer anderen PHP-Version
Zur Beratung und Installation kontaktieren Sie bitte unseren Support per Anfrage im Cockpit oder per E-Mail.
Unterschiede zwischen mod_php und PHP-FPM
Wir betreiben PHP ausschliesslich in Verbindung mit dem Apache-Webserver. Dabei können wir zwei unterschiedliche Schnittstellen zwischen Apache und PHP anbieten:
mod_php
Das Standard PHP-Modul von Apache hat den Namen mod_php. Der PHP-Code wird direkt durch das Apache-Modul interpretiert und läuft daher auch immer mit dem www-data Benutzer.
PHP-FPM
PHP-FPM steht für FastCGI Process Manager. Damit wird der PHP-Code durch FPM interpretiert und in eigenen Prozessen verwaltet. Apache reicht dann die Anfragen an FPM weiter.
Vor- und Nachteile
Ein grosser Vorteil von FPM ist die erhöhte Sicherheit bei mehreren Webhostings auf demselben Server. Jedes Hosting kann FPM mit einem separaten Benutzer starten. Somit wird ein Übergriff von einem Hosting auf ein anderes abgefangen. Weiter können, dank der Prozess-Trennung, verschiedene PHP Versionen gleichzeitig verwendet werden. Dies bieten wir bereits unter Ubuntu 14.04 mit den PHP-Versionen 5.6 und 7.0 an. Der einzige, wirkliche Nachteil von FPM ist die aufwendigere, initiale Konfiguration und zusätzlich muss ein weiterer Dienst auf dem System überwacht werden.
Was wird auf meinem Server verwendet?
Ein Weg zur Prüfung, ob PHP-FPM auf dem Server installiert ist oder nicht, ist via dpkg möglich:
www-data@meinserver01:~ $ dpkg -l | grep fpm
ii php5-fpm 5.5.9+dfsg-1ubuntu4.19 amd64 server-side, HTML-embedded scripting language (FPM-CGI binary)
In diesem Beispiel ist PHP-FPM in der Version 5.5 installiert. Sofern nichts ausgegeben wird, ist kein FPM installiert. Bei Unklarheiten kann andernfalls unser Support über die verwendete Konfiguration gerne Auskunft geben.
PHP 5.6 und 7.0 parallel verwenden unter Ubuntu Trusty 14.04
Wie schon erwähnt, installieren wir auf Anfrage PHP mit FPM. Dieser Parallelbetrieb ist derzeit nur unter Ubuntu 14.04 mit PHP 5.6 und PHP 7.0 möglich. Wie zwischen den Versionen gewählt werden kann wird hier in unserem Support-Bereich erläutert.
Bitte beachten Sie, dass wir für den Parallelbetrieb der beiden Versionen unter Ubuntu Trusty 14.04 auf ein Dritt-Repository zurückgreifen, das nur bis April 2018 gepflegt wird. Somit können PHP 5.6 und PHP 7.0 unter Trusty - gemäss heutigem Stand - nur noch für ein Jahr betrieben werden bevor diese abgelöst werden müssen.
PHP Einstellungen
Sehr oft besteht der Wunsch die vordefinierten PHP Einstellungen (php.ini-Direktiven) zu verändern. Jede Einstellung hat dabei eine Einstufung, wie diese verändert werden kann. Eine Liste aller Einstellungen und deren Veränderbarkeit finden Sie hier.
PHP_INI_SYSTEM
Sofern eine Einstellung die Veränderbarkeit PHP_INI_SYSTEM hat, kann diese nur durch den Support von nine.ch angepasst werden. Diese Werte werden dann auch systemweit gesetzt und nicht individuell pro Webseite.
PHP_INI_ALL/PHP_INI_USER/PHP_INI_PERDIR
Diese Einstellungen können über eine Datei im Webverzeichnis verändert werden. Bei mod_php geht das über die .htaccess Datei. Hier ein Beispiel wie die .htaccess Datei aussehen könnte:
php_value memory_limit 512M
Sofern PHP-FPM verwendet wird muss das über eine .user.ini Datei konfiguriert werden.
memory_limit=512M
–
Bei Fragen zu diesem Thema steht Ihnen unser Support-Team telefonisch oder per E-Mail gerne zur Verfügung.