PHP 8.0 RC1 zum Testen verfügbar

Ab heute können Sie den ersten Release Candidate der neuen PHP Version 8.0 auf unseren Webservern ausprobieren. Beachten Sie dabei bitte, dass es noch nicht die endgültige Release-Version ist, die planmäßig gegen Ende November erscheinen soll, sondern der erste von voraussichtlich 4 Release Candidates, die nur zu Testzwecken genutzt werden sollten.

Sie können damit die PHP Entwickler bei der Suche nach letzten Fehlern und Problemen unterstützen und die Kompatibilität Ihrer Web-Anwendungen mit der neuen PHP-Version testen.

Änderungen in PHP 8.0

Mit dem Sprung auf Version 8.0 gehen diverse nicht abwärtskompatible Änderungen zur Vorgängerversion 7.4 einher, die Anpassungen an vielen Web-Anwendungen erforderlich machen. Es wurden einige als veraltet gekennzeichnete Funktionen entfernt, aber auch neue Funktionen hinzugefügt und Verbesserungen vorgenommen.
Aktuell kommt es bei vielen Web-Anwendungen noch zu kleineren Problemen mit PHP 8.0, dies sollten aber durch Updates im Laufe der nächsten Wochen bis zum finalen Release behoben werden.

In PHP 8.0 wurde die XMLRPC-Extension entfernt, die in den älteren PHP-Versionen auf unseren Webservern verfügbar ist. Diese Extension ist für PHP 8.0 nur noch als Zusatzmodul bei PECL verfügbar.

Eine wichtige Änderung ist, dass der @-Operator nun keine kritischen Fehlermeldungen mehr unterdrückt. Dies kann zu Problemen führen, wenn in Fehlermeldungen vertrauliche Informationen wie z.B. Datenbankzugangsdaten einsehbar sind.

Eine Änderung, die häufig zu Problemen führt ist, dass der Zugriff auf Array-Elemente nun nicht mehr mittels geschweifter Klammern {} möglich ist, sondern nur noch eckige Klammern [] erlaubt sind.

Die vielleicht wichtigste Neuerung in PHP 8.0 ist, dass der PHP OpCode Cache nun einen sogenannten Just-in-Time-Compiler erhalten hat, der die Performance bei sehr CPU-lastigen Scripten verbessern kann. Dies führt aber in der Praxis nur zu geringfügigen Performance-Gewinnen, da viele PHP-Anwendungen nicht sehr CPU-lastig sind und viel Zeit mit dem Warten auf Daten z.B. von einer Datenbank verbringen.

Eine Übersicht über alle Neuerungen und Änderungen zur Vorgängerversion 7.4 finden Sie in der PHP-Upgrade-Dokumentation.

Verbesserungen in PHP 8.0

Wir konnten in ersten Tests eine leichte Verbesserung der PHP-Ausführungsgeschwindigkeit von etwa 5% bis 10% feststellen.


PHP 8.0 aktivieren

Sie können PHP 8.0 wie gewohnt entweder über das Kundenmenü aktivieren, oder über eine .htaccess-Konfigurationsdatei im Anwendungsverzeichnis auf dem Webserver mittels folgender Direktive:
AddHandler application/x-httpd-php80 .php

Webmail: Update auf Roundcube 1.4

Wir werden in Kürze unser Webmail auf die aktuelle Roundcube-Version 1.4 umstellen. In dieser Version wurde eine neuer Standard-Benutzeroberfläche („Skin“) namens „Elastic“ eingeführt, die den bisherigen Standard-Skin „Larry“ ersetzt. Diese neue, modern gestaltete Oberfläche eignet sich auch für Mobilgeräte wie Tablets oder Smartphones.

(c) roundcube.net

Falls Sie sich bereits zuvor in Roundcube angemeldet haben, und daher noch einen älteren Skin nutzen, werden Sie beim ersten Login in das neue Roundcube gefragt, ob Sie den neuen Standard-Skin aktivieren möchten.

Sie können bei Roundcube zwischen verschiedenen Skins wählen; diese können Sie in den Einstellungen unter dem Menüpunkt Benutzeroberfläche jederzeit ändern. Beachten Sie dabei bitte, dass die Skins „Classic“ und „Larry“ nicht für Mobilgeräte optimiert sind. Falls Sie das Webmail mit einem Smartphone oder Tablet nutzen möchten, sollten Sie diese beiden Skins nicht nutzen.

Auslaufen der Unterstützung von TLS 1.0 und TLS 1.1

HTTPS

Seit Anfang dieses Jahres haben die bekannten Web-Browser Chrome , Firefox, Safari, Internet Explorer und Edge begonnen, die Unterstützung der mittlerweile veralteten TLS-Versionen 1.0 und 1.1 einzustellen. Das TLS-Protokoll (früher SSL) wird zum verschlüsselten Webseitenabruf (HTTPS) und für den verschlüsselten Versand und Abruf von E-Mails genutzt.

Die TLS-Versionen 1.0 und 1.1 weisen diverse Sicherheitsprobleme auf und sollten nicht mehr genutzt werden. Wir werden daher die Unterstützung dieser TLS-Versionen auf unseren Webservern zum 15. Februar 2020 einstellen. Ab diesem Zeitpunkt werden für HTTPS-Verbindungen zu unseren Webservern nur noch die aktuellen und sicheren TLS-Versionen 1.2 und 1.3 unterstützt. Für E-Mail-Dienste (SMTP, POP3, IMAP) werden wir die veralteten TLS-Versionen zu einem späteren Zeitpunkt deaktivieren, da die Sicherheitsprobleme hauptsächlich HTTPS betreffen.

Mögliche Probleme

Alle modernen Web-Browser unterstützen die aktuelle TLS-Version 1.3. Die Vorgängerversion TLS 1.2 wurde bereits im Jahr 2008 vorgestellt, daher wird sie auch von etwas älteren Betriebssystemen und Web-Browsern unterstützt.

Nur bei sehr alten Browsern und Betriebssystemen (z.B. Windows XP, Android 4.3, iOS 4, OS X Yosemite) kann es durch die Deaktivierung von TLS 1.0 und 1.1 zu Problemen bei HTTPS-Verbindungen kommen.

Sie können bei ssllabs.com prüfen, ob Ihr Browser eine aktuelle TLS-Version unterstützt.

Kunden mit eigenem Webserver (Reseller.Dedicated bzw. Pro.Hosting-Paket ab Pro.B), sowie Nutzer unserer Legacy-Server für alte PHP-Versionen können auf Wunsch weiterhin TLS 1.0 und 1.1 für HTTPS nutzen, falls dies für die Kompatibilität mit älteren Browsern erforderlich sein sollte. Bitte wenden Sie sich dazu an unsere Kundenbetreuung.

PHP 7.4 verfügbar

PHP

Auf unseren Webservern steht ab sofort die heute neu erschienene PHP Version 7.4 zur Verfügung. Dies ist die voraussichtlich letzte Version im Release-Zweig 7, im nächsten Jahr soll dann PHP 8 erscheinen.

Neuerungen und Verbesserungen in PHP 7.4

Mit jeder neuen PHP-Version steigt normalerweise auch die Ausführungsgeschwindigkeit für PHP-Skripte. Wir konnten allerdings in ersten Tests nur kleine Performance-Verbesserungen beim Umstieg von PHP 7.3 auf PHP 7.4 feststellen. Der nächste größere Performance-Sprung in PHP wird erst mit dem für PHP 8 geplanten Just-in-Time-Compiler erwartet.

Eine wichtige Neuerung in PHP 7.4 ist das sogenannte Foreign Function Interface (FFI), mit dem C-Bibliotheken ohne den Umweg über eine PHP-Extension genutzt werden können.

Eine weitere Neuerung ist die Preloading-Funktion von OpCache, mit der ganze PHP-Anwendungen vorgeladen werden können. Bisher arbeitet OpCache nur auf Dateiebene, der OpCode wird für jede PHP-Datei einzeln vorgehalten und muss vom PHP-Intepreter bei jedem Skript-Aufruf zunächst noch zu einem ausführbaren Programm zusammengestellt werden (Linking). Dieser Schritt entfällt beim Preloading, dadurch können PHP-Anwendungen etwas schneller geladen werden.

Die Preloading-Funktion kann jedoch nicht einfach nur aktiviert werden; es ist zusätzlich ein spezielles PHP-Skript erforderlich, das alle benötigten PHP-Dateien in den OpCache lädt.  Ein weiterer Nachteil ist, dass PHP-FPM bei jeder Änderung an einer PHP-Datei neu gestartet werden muss, damit die Änderung übernommen wird. Aufgrund dieser Einschränkung können wir die Preloading-Funktion zunächst nicht anbieten.

Weiterhin wird in OpenSSL-Streams jetzt auch TLS 1.3 unterstützt. Dies ist allerdings nur auf unseren neueren Webservern verfügbar, die schon auf unsere aktuelle Hosting-Platform umgestellt wurden.

Eine für Softwareentwickler interessante Neuerung ist die Unterstützung von sogenannten typed Properties. Properties von Klassen kann damit auf Wunsch ein konkreter Datentyp wie string oder int zugewiesen werden. So kann die Typsicherheit von Properties auch ohne aufwändige getter- und setter-Methoden sichergestellt werden.

Weiterhin kann der Null Coalescing Operator ?? nun auch direkt in Zuweisungen genutzt werden, wie etwa in folgendem Beispiel:

// Fetches the request parameter user and results in 'nobody' if it doesn't exist
$username = $_GET['user'] ?? 'nobody';

Eine weitere Änderung wurde beim Bedingungsoperator ? vorgenommen, dieser war bei PHP im Gegensatz zu fast allen anderen Programmiersprachen bisher linksassoziativ. Dieses Verhalten ist nun veraltet, zukünftig müssen hier Klammern genutzt werden.

Eine Übersicht über alle Neuerungen und Änderungen zur Vorgängerversion 7.3 finden Sie in der PHP-Upgrade-Dokumentation.

PHP 7.4 aktivieren

Sie können PHP 7.4 im Kundenmenü oder für einzelne Verzeichnisse per .htaccess-Konfigurationsdatei auf dem Webserver mittels folgender Direktive aktivieren:

AddHandler application/x-httpd-php74 .php

Für weitere Hinweise zur Auswahl der PHP-Version beachten Sie bitte den FAQ-Artikel „Wie kann ich eine bestimmte PHP-Version auswählen?„.

PHP 7.1 End of Life

Mit dem Erscheinen von PHP 7.4 endet auch die Unterstützung der älteren PHP-Version 7.1 durch das PHP-Entwicklerteam, es wird ab Dezember keine weiteren offiziellen Updates für diese PHP-Version mehr geben.

Falls Sie noch PHP 7.1 für Ihre Webseiten nutzen, sollten Sie aus Sicherheitsgründen auf eine neuere PHP-Version umstellen. Wir empfehlen momentan noch PHP 7.3 zu nutzen, da bei PHP 7.4 noch einige Kompatibilitätsprobleme auftreten können.

PHP 7.4 RC1 verfügbar

Auf unseren Webservern steht nun der erste Release Candidate der neuen PHP-Version 7.4 zu Testzwecken zur Verfügung.

Beachten Sie bitte, dass es sich noch um eine frühe Testversion handelt, die kritische Fehler enthalten kann, daher sollte PHP 7.4 noch nicht für produktive Webseiten genutzt werden. Sie können jedoch schon prüfen, ob Ihre Web-Anwendungen mit PHP 7.4 kompatibel sind, und eventuell auftretende Probleme beheben. Die finale Release-Version PHP 7.4.0 wird voraussichtlich Ende November erscheinen.

Neuerungen und Verbesserungen in PHP 7.4

Ein wichtiger Aspekt bei der Entwicklung von neuen PHP-Versionen sind Performance-Verbesserungen. Hier konnten wir in ersten Tests nur geringe Vorteile im Vergleich zur Vorgängerversion 7.3 feststellen.

Die wichtigste Verbesserung im Hinblick auf Performance ist die neue Preloading-Funktion von Opcache; diese kann jedoch in Shared-Hosting-Umgebungen aus technischen Gründen nicht genutzt werden. Die Nutzung von Preloading auf unseren dedizierten Webservern ist prinzipiell möglich; ist aber relativ aufwändig, da das Preloading über ein eigenes PHP-Script erfolgen muss, und bei jeder Änderung an PHP-Dateien ein Neustart von PHP-FPM erforderlich ist.

Eine für Softwareentwickler interessante Neuerung ist die Unterstützung von sogenannten typed Properties. Properties von Klassen kann damit auf Wunsch ein konkreter Datentyp wie string oder int zugewiesen werden. So kann die Typsicherheit von Properties auch ohne aufwändige getter- und setter-Methoden erreicht werden.

Eine Übersicht über alle Neuerungen und Änderungen zur Vorgängerversion 7.3 finden Sie in der PHP-Upgrade-Dokumentation.

PHP 7.4 aktivieren

Sie können PHP 7.4 im Kundenmenü oder per .htaccess-Konfigurationsdatei auf dem Webserver mittels folgender Direktive aktivieren:

AddHandler application/x-httpd-php74 .php

Für weitere Hinweise zur Auswahl der PHP-Version beachten Sie bitte den FAQ-Artikel „Wie kann ich eine bestimmte PHP-Version auswählen?„.

Einstellung der Unterstützung für SSH DSA Schlüssel

Mit dem anstehenden Update unserer Webserver-Plattform auf Ubuntu 18.04 geht ein Wechsel auf eine aktuellere Version der SSH Server-Software OpenSSH einher. Dadurch können jedoch keine SSH DSA-Schlüssel mehr genutzt werden, weil diese als nicht ausreichend sicher angesehen werden, und daher von aktuellen OpenSSH-Versionen nicht mehr unterstützt werden.

Falls Sie DSA-Schlüssel auf unseren Webservern für SSH oder SFTP nutzen, sollten Sie diese durch moderne Verfahren ersetzen. Sie können diese veralteten Schlüssel am Dateinamen id_dsa bzw. id_dsa.pub oder am Präfix ssh-dss in der authorized_keys-Datei erkennen.

Wir empfehlen die Nutzung von Ed25519- oder RSA-Schlüsseln, ECDSA-Schlüssel werden ebenfalls weiter unterstützt.

Webserver: Abschaltung von PHP 5.3 und 5.5

Die seit mehreren Jahren veralteten PHP-Versionen 5.3 und 5.5 wurden heute wie angekündigt abgeschaltet. Alle Webseiten, die noch PHP 5.3 oder 5.5 nutzen, wurden auf die PHP-Version 5.6 umgestellt.

Wir haben alle betroffenen Kunden, die noch diese PHP-Versionen für Ihre Webseiten einsetzen, per E-Mail über die bevorstehende Abschaltung informiert.

Falls durch die Umstellung Probleme mit Ihren Webseiten auftreten, beachten Sie bitte zunächst die Hinweise in unseren FAQs.

Sollte Ihre Webseite nicht mit aktuellen PHP-Versionen kompatibel sein, bieten wir einen Umzug auf (aufpreispflichtige) Legacy-Webserver an, auf denen wir die veralteten PHP-Versionen 5.2, 5.3 und 5.5 noch für mindestens 2 Jahre bereitstellen werden.

Hinweise zu den PHP-Versionen 5.6 und 7.0

Die PHP-Versionen 5.6 und 7.0 sind ebenfalls veraltet und werden nicht mehr vom PHP-Entwicklerteam gepflegt. Sie werden jedoch von uns durch zurückportierte Updates aus neueren PHP-Versionen versorgt, um sicherheitsrelevante Programmierfehler zu beheben. Wir können jedoch keine Garantie geben, dass alle Programmierfehler behoben werden. Sie sollten daher nach Möglichkeit die vom PHP-Entwicklerteam aktuell unterstützten PHP-Versionen 7.1, 7.2 oder 7.3 verwenden.

Webserver: Abschaltung von PHP 5.2

Mit dem heutigen Tag wurde die Unterstützung der seit mittlerweile 8 Jahren veralteten PHP-Version 5.2 auf unseren Webservern beendet. Alle Webseiten, die noch PHP 5.2 nutzen, wurden auf die PHP-Version 5.6 umgestellt.

Wir haben alle betroffenen Kunden, die noch diese PHP-Version für Ihre Webseiten einsetzen, im Februar per E-Mail über die Umstellung informiert. Die Unterstützung der ebenfalls veralteten PHP-Versionen 5.3 und 5.5 wird zum 15.05.2019 eingestellt.

Für Kunden, deren Webseiten nicht mit aktuellen PHP-Versionen kompatibel sind, bieten wir einen Umzug auf (aufpreispflichtige) Legacy-Webserver an, auf denen wir diese PHP-Versionen noch für mindestens 2 Jahre bereitstellen werden. Weitere Hinweise finden sie in unseren FAQ.

Webserver: Neue Features TLS 1.3 und Brotli-Kompression

TLS 1.3

Unsere Webserver unterstützen für verschlüsselte HTTPS-Verbindungen ab sofort die aktuelle TLS-Version 1.3. Mit dieser TLS-Version wurden viele bekannte Schwachstellen der Vorgängerversionen entschärft, zusätzlich wurde auch die Aushandlung der Verschlüsselung beschleunigt.
Die mittlerweile veralteten TLS-Versionen 1.0 und 1.1 werden aus Kompatibilitätsgründen mit älteren Web-Browsern zunächst weiter unterstützt, wir planen jedoch, diese aus Sicherheitsgründen mittelfristig zu deaktivieren, so dass nur noch TLS 1.2 und 1.3 unterstützt werden.

Brotli-Kompression

Weiterhin können Sie für Ihre Webseiten nun auch die Brotli-Kompression nutzen. Dieses Kompressionsverfahren wurde speziell für Webseiten (HTML, CSS, JavaScript) entwickelt, und erreicht etwas höhere Kompressionsraten als gzip / Deflate. Sie können die neue Kompression per .htaccess-Konfigurationsdatei mittels folgender Direktive aktivieren:

AddOutputFilterByType BROTLI_COMPRESS;DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript

Deaktivierung von PHP 5.2, 5.3 und 5.5

Im April 2019 werden wir beginnen, unsere Webserver auf eine neue Linux-Distribution zu aktualisieren, um auch weiterhin den höchsten Sicherheitsstandards und Performance-Ansprüchen genügen zu können. Aufgrund von Inkompatibilitäten zwischen älteren PHP-Versionen und den von der Distribution bereitgestellten aktuellen Versionen von Standard-Softwarebibliotheken wie OpenSSL können wir auf der neuen Webserver-Plattform nur PHP-Versionen ab 5.6 anbieten.

Wir werden PHP 5.2 zum 15.04.2019, sowie PHP 5.3 und PHP 5.5 zum 15.05.2019 auf allen Webservern abschalten. Alle Kunden, die diese PHP-Versionen noch verwenden, erhalten von uns in den nächsten Tagen eine entsprechende Mitteilung mit konkreten Hinweisen, wo und wie diese Versionen noch verwendet werden.

Die Pflege der PHP-Versionen 5.2, 5.3 und 5.5 wurde durch das PHP-Entwicklerteam bereits 2012, 2014 bzw. 2016 eingestellt. Wir haben diese Versionen auf unseren Webservern nur aus Kompatibilitätsgründen mit älteren Web-Anwendungen weiterhin bereitgestellt. Dies ist nun auf der neuen Webserver-Plattform nicht mehr möglich.

Uns ist bewusst, dass es Skripte, Content-Management-Systeme und Shops gibt, die seit langer Zeit nicht aktualisiert wurden und nur mit PHP 5.2, 5.3 oder 5.5 funktionieren. Nicht immer ist eine Aktualisierung oder Anpassung mit wenig Aufwand möglich. Wir werden daher Kunden, die diese PHP-Versionen auch nach der Abschaltung benutzen müssen, einen speziell konfigurierten Webserver zur Verfügung stellen.

Da der Betrieb dieses Servers hohe Kosten verursacht, die sich auf wenige Kunden verteilen, werden wir nach einer kostenlosen Übergangsphase bis zum 15.07.2019 (PHP 5.2) bzw. 15.08.2019 (PHP 5.3/5.5) für die Nutzung einen monatlichen Aufpreis berechnen. Die Höhe des Aufpreises hängt von der Zahl der Kunden ab, die den „Legacy-Server“ nach Ende der Übergangsphase noch benötigen. Wir rechnen zurzeit mit einem Preis von etwa 10,- Euro pro Monat pro Benutzeraccount.

Sollten Sie bei der Umstellung auf eine neuere Version Hilfe benötigen, lassen Sie es uns bitte wissen. Wenn sich herausstellt, dass Sie für eine bestimmte Webseite oder Anwendung zwingend weiterhin PHP 5.2, PHP 5.3 bzw. 5.5 benötigen, kontaktieren Sie uns bitte nach dem Erhalt unserer E-Mail, um die Migration auf den Legacy-Server zu koordinieren.

In unseren FAQ finden Sie einige häufige Fragen zur geplanten Abschaltung der älteren PHP-Versionen.