PHP 7.0 verfügbar

Seit heute steht auf unseren Webservern die neue Version 7.0 von PHP zur Verfügung. Der Versionssprung von 5.6 auf 7 liegt daran, dass die Entwicklung von PHP 6 aus verschiedenen Gründen eingestellt wurde.

Vorteile von PHP 7

Die Hauptverbesserungen bei PHP 7 wurden an den internen Datenstrukturen vorgenommen, dort konnte der Speicherbedarf stark reduziert werden. Dies führt zu einer deutlichen Erhöhung der Ausführungsgeschwindigkeit von PHP-Scripten, in der Praxis laufen viele Anwendungen wie z.B. WordPress unter PHP 7.0 doppelt so schnell wie unter PHP 5.6, der Umstieg auf PHP 7 lohnt sich also.

Mögliche Probleme beim Wechsel auf PHP 7

Bei PHP 7 wurden einige bisher nur als veraltet markierte Extensions endgültig entfernt, darunter auch die häufig eingesetzte originale MySQL-Extension. Als Alternativen können die MySQL-Improved-Extension (MySQLi) oder PDO genutzt werden.

Weiterhin sind einige Begriffe wie int, float, bool, string, true, false und null nun reserviert und dürfen nicht mehr für Klassennamen oder Ähnliches genutzt werden, dies führt bei einigen PHP-Anwendungen wie beispielsweise Joomla zu Problemen.

Eine vollständige Übersicht der nicht abwärtskompatiblen Änderungen finden Sie hier.

Aufgrund dieser Änderungen sind viele bekannte PHP-Anwendungen nicht kompatibel mit PHP 7. Für die meisten betroffenen Anwendungen sollten jedoch in Kürze Updates erscheinen, die diese Probleme beheben. Die bei uns am häufigsten genutzte PHP-Anwendung WordPress ist in der aktuellen Version vollständig kompatibel mit PHP 7, es kann jedoch unter Umständen Probleme mit älteren WordPress-Plugins geben.

PHP 7 aktivieren

PHP 7 wird nicht automatisch für alle PHP-Scripte auf unseren Webservern genutzt, da bei einer Änderung der Standard-PHP-Version viele Webseiten nicht mehr korrekt funktionieren würden. Sie können jedoch die gewünschte PHP-Version für Ihre Webseiten über eine Konfigurationsdatei vorgeben, eine Anleitung dazu finden Sie hier.

PHP 7 RC 3 verfügbar

Ab sofort steht auf unseren Webservern der aktuelle Release Candidate 3 von PHP 7 zu Testzwecken zur Verfügung.

Wir haben dabei eine für viele Kunden interessante Neuerung hinzugefügt, und zwar einen Datei-basierten PHP-Beschleuniger.

Hintergründe zu PHP-Beschleunigern

PHP ist eine Script-Sprache, die vor der Ausführung auf unseren Webservern in für Computer verständlichen Mikroprozessor-Code übersetzt werden muss. PHP nutzt dabei (ähnlich wie Java) eine sogenannte Virtuelle Maschine, es wird also nicht direkt Mikroprozessor-Code erzeugt, sondern zunächst sogenannter Bytecode für eine Virtuelle Maschine (Zend Engine), die daraus dann im nächsten Schritt Mikroprozessor-Code erzeugt und diesen ausführt.
Dieser Bytecode wird jedoch nach der Ausführung eines PHP-Scripts verworfen, und muss jedes Mal zeitaufwändig neu generiert werden. Um dies zu vermeiden gibt es diverse PHP-Beschleuniger wie den PHP-eigenen OpCache, die den Bytecode für spätere Script-Aufrufe optimieren und zwischenspeichern. Allerdings wurde dieser Bytecode bisher immer im Arbeitsspeicher abgelegt, was auf unseren Shared-Hosting-Servern aus technischen Gründen nicht funktioniert, und nur in den Pro-Paketen (bzw. auf Dedicated-Servern) mit PHP-FPM möglich ist.

Seit PHP 7 kann der PHP OpCache den Bytecode optional auch in Dateien speichern, damit lässt er sich auf allen Shared-Hosting-Servern nutzen.

Wir haben anhand einer aktuellen WordPress-Installation die möglichen Performance-Verbesserungen durch OpCache getestet (Mittelwert über 100 Aufrufe):

opcache-file-small

Im Vergleich zu PHP 5.6 ohne OpCache verkürzt sich die PHP-Ausführungszeit für die WordPress-Startseite um Faktor 2, der Datei-OpCache lohnt sich also wirklich.

PHP 7 und OpCache aktivieren

Um PHP 7 mit OpCache zu nutzen, erstellen Sie zunächst ein Verzeichnis für die Bytecode-Dateien auf Ihrem Webserver. Dieses Verzeichnis können Sie beliebig benennen (z.B. “opcache”), und an beliebiger Stelle in Ihrem Benutzerverzeichnis anlegen, die Zugriffsrechte sollten jedoch aus Sicherheitsgründen auf Ihren Benutzeraccount beschränkt werden (chmod 700).

Legen Sie dann im gewünschten Webserver-Verzeichnis eine .htaccess-Datei mit folgendem Inhalt an (bzw. fügen Sie folgende Zeile zu einer bestehenden .htaccess-Datei hinzu):

AddHandler application/x-httpd-php70 .php

Anschließend legen Sie in diesem Verzeichnis eine php.ini-Datei mit folgendem Inhalt an (bzw. fügen die folgenden Zeilen zu einer bestehenden php.ini-Datei hinzu):

zend_extension=/vrmd/webserver/php70/lib/opcache.so
opcache.file_cache=/homepages/u12345/opcache
opcache.file_cache_only=1

Ersetzen Sie dabei “/homepages/u12345/opcache” durch den vollständigen Pfad zu Ihrem Bytecode-Verzeichnis. Beachten Sie bitte, dass php.ini-Dateien nur in dem Verzeichnis gelten, wo auch das aufgerufene PHP-Script liegt, eventuell müssen Sie diese Datei daher noch in weitere Unterverzeichnisse kopieren.

Hinweis

Bitte beachten Sie, dass sich PHP 7 noch in der Entwicklungsphase befindet, es können noch diverse kleinere Fehler und Probleme auftreten. Sie sollten PHP 7 daher besser noch nicht für kritische Webseiten einsetzen.

PHP 7 im Performance-Vergleich

Die PHP-Entwickler haben für Version 7 drastische Performance-Verbesserungen um 100% und mehr im Vergleich zu den Vorgängerversionen angekündigt. Um dies zu überprüfen, haben wir die PHP-Ladezeiten einer aktuellen WordPress-Installation (Version 4.3) mit den unterschiedlichen bei uns verfügbaren PHP-Versionen gemessen (Mittelwert über 100 Zugriffe):

barchart

Tatsächlich ist PHP 7 deutlich schneller als die Vorgängerversionen, die angekündigte Verbesserung um 100% tritt unter PHP-FPM in Kombination mit dem PHP Opcode Cache tatsächlich ein.

Weitere Informationen zur Nutzung von PHP 7 auf unseren Webservern finden Sie hier.

Bitte beachten Sie, dass PHP-FPM  gegenwärtig nur in den Pro-Paketen bzw. für Reseller mit Dedicated-Server genutzt werden kann, zur Aktivierung von PHP-FPM wenden Sie sich bitte an unsere Kundenbetreuung.

PHP 7 RC 1 verfügbar

Auf unseren Webservern steht ab sofort der Release Candidate 1 von PHP 7 zu Evaluierungszwecken zur Verfügung.

Bitte beachten Sie, dass es sich noch nicht um die endgültige Release-Version handelt, die voraussichtlich gegen Mitte November erscheinen wird, es können also noch diverse kleinere Fehler und Probleme auftreten. Wir empfehlen daher, PHP 7 noch nicht für den Produktivbetrieb kritischer Webseiten zu nutzen, Sie können jedoch schon prüfen, ob Ihre Webseite mit PHP 7 kompatibel ist, und so rechtzeitig den Umstieg auf die neueste PHP-Version vorbereiten. Beim Umstieg auf PHP 7 ist insbesondere zu beachten, dass einige veraltete Funktionen, die unter PHP 5.6 noch funktioniert haben, unter PHP 7 nicht mehr zur Verfügung stehen.

Um PHP 7 für Ihre Webseite zu nutzen, erstellen Sie im gewünschten Webspace-Verzeichnis eine .htaccess-Datei mit folgendem Inhalt (bzw. fügen Sie folgende Zeile zu einer bestehenden .htaccess-Datei hinzu):

AddHandler application/x-httpd-php70 .php

Wir werden auch die nächsten Release Candidates von PHP 7 zeitnah auf unseren Webservern bereitstellen, bis hin zur Veröffentlichung der endültigen Release-Version von PHP 7.

Mit den Apache-Handler application/x-httpd-php70 kann zukünftig die aktuellste Version von PHP 7.0 auf unseren Webservern genutzt werden.

An der bisherigen Standard-PHP-Version des von Ihnen genutzen Webservers ändert sich nichts, für neue Präsenzen wird aktuell standardmäßig PHP 5.5 genutzt, ältere Webserver nutzen PHP 5.3.

Weitere Informationen zur Auswahl der PHP-Version finden Sie hier.