Managed Simple Service PHP

nine Team Mär 13, 2017

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:

[email protected]:~ $ 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.