PHP 8.2 RC1 zum Testen verfügbar

Wir haben auf unseren Webservern den ersten Release Candidate der kommenden PHP Version 8.2 installiert. Die Release Candidate-Versionen dienen zum Aufspüren von letzten Fehlern und Problemen, bevor die finale Version von PHP 8.2 voraussichtlich gegen Mitte November veröffentlicht wird.

Sie können damit testen, ob die von Ihnen genutzten PHP-Anwendungen mit PHP 8.2 kompatibel sind, für den dauerhaften Produktivbetrieb sollten die Release Candidates jedoch nicht genutzt werden. Sobald weitere Release Candidates erscheinen, aktualisieren wir diese umgehend auf unseren Servern.

Neuerungen in PHP 8.2

Die für die meisten Nutzer:innen wichtigste Verbesserung bei neuen PHP-Versionen ist eine höhere Ausführungsgeschwindigkeit, wodurch sich die Seitenladezeit von Web-Anwendungen wie WordPress reduziert. Wir konnten in ersten Tests Verbesserungen von bis zu 5% feststellen.

Eine für viele PHP-Entwickler nützliche neue Funktion ist mysqli_execute_query(), die mysqli_prepare(), mysqli_execute() und mysqli_stmt_get_result() in einem einzigen Aufruf verbindet. Diese Funktion kann ähnlich einfach wie mysqli_query() genutzt werden, ist aber nicht für sogenannte SQL Injection Angriffe anfällig.

Bei unerwarteten Fehlern während der Ausführung eines PHP-Scripts werden häufig sogenannte Stack Traces ausgegeben, um die Fehleranalyse zu erleichtern. Dabei können unter Umständen jedoch auch vertrauliche Parameter wie Datenbankpasswörter ausgegeben werden. Um dies zu verhindern, können solche vertraulichen Parameter nun durch das Attribut \SensitiveParameter geschützt werden.

Eine Übersicht über alle Änderungen und Neuerungen in PHP 8.2 sowie Hinweise zum Wechsel von älteren PHP-Versionen finden Sie hier.

PHP 8.2 aktivieren

Sie können PHP 8.2 wie gewohnt über das Kundenmenü oder auf den Webservern per .htaccess-Konfigurationsdatei mittels folgender Direktiven auswählen:

AddHandler application/x-httpd-php82 .php

PHP 7.4 End of Life

Mit der gegen Mitte November geplanten Veröffentlichung der finalen Version von PHP 8.2 stellen die PHP-Entwickler die Unterstützung der PHP-Version 7.4 vollständig ein, für die PHP Version 8.0 wird es ab dann nur noch Updates bei sicherheitskritischen Fehlern geben. Falls Sie noch eine ältere PHP-Version als 8.0 für Ihre Web-Anwendungen nutzen, sollten Sie diese möglichst bald auf PHP 8.0 oder neuer umstellen.

Phishing-Mails im Namen von Variomedia

Heute Nacht wurden massenhaft Phishing-Mails im Namen von Variomedia an bei uns gehostete Postfächer gesendet, in denen die Empfänger dazu aufgefordert werden, das Variomedia-Webmail zu aktualisieren. Auf der verlinkten Webseite werden die Zugangsdaten des Postfachs abgefragt, die dann in den Händen von Unbefugten landen.

Phishing-Mail, die an Variomedia-Kunden geschickt wurde
Phishing-Mail, die an Variomedia-Kunden geschickt wurde

Diese Mails sind relativ gut gemacht und nicht auf den ersten Blick als Fälschung zu erkennen. Falls Sie der Aufforderung nachgekommen sind, und Ihre Zugangsdaten hier eingegeben haben, sollten Sie umgehend das Passwort des betroffenen E-Mail-Postfachs ändern.

Hinweise zur Erkennung von Phishing-Mails

Echte E-Mails von Variomedia enthalten immer eine persönliche Anrede mit Ihrem Namen.

In Phishing-Mails werden häufig E-Mail-Absenderadressen und HTTP-Links genutzt, die im Beschreibungstext eine abweichende Adresse anzeigen. So wird z.B. als Absenderadresse “Variomedia” angezeigt aber nicht die tatsächliche Absenderadresse nutzt eine .ca Domain, und im Link steht “https://www.variomedia.de/mail/pakete/”, doch der tatsächliche Link verweist auf eine .at Domain.

E-Mails von Variomedia haben immer eine Absenderadresse (nach dem @) der Domain variomedia.de oder einer oder einer Sub-Domain von variomedia.de.

Falls wir Ihnen per E-Mail einen Link auf eine unserer Webseiten senden, so achten Sie bitte darauf, dass in der Adresszeile des Web-Browsers eine Webseite unter der Domain variomedia.de oder einer Sub-Domain von variomedia.de geladen wird. Nur auf diesen Webseiten können Sie gefahrlos Ihre E-Mail-Zugangsdaten eingeben.

Ursprung der E-Mail-Adressen

Wir können nicht sicher sagen, woher die Versender die E-Mail-Adressen haben. Es scheint sich um eine relativ alte Liste zu handeln, da bei uns viele Postfächer angeschrieben wurden, die es gar nicht mehr gibt. Alle von uns stichprobenhaft getesteten E-Mail-Adressen befinden sich in Listen von früheren Leaks. In welchen Leaks Ihre eigene E-Mail-Adresse auftaucht, können Sie auf der Seite https://haveibeenpwned.com/ oder beim Angebot des deutschen Hasso-Plattner-Instituts unter https://sec.hpi.de/ilc/search?lang=de testen.

Neue Generation der OX Drive App für iOS

Open-Xchange hat im Februar eine neue Generation der OX Drive App für iOS vorgestellt, die besser in iOS integriert ist. Mit dieser neuen Version können Sie nun auf Ihre Daten in OX Drive auch über die reguläre iOS Dateien App zugreifen.

Da es sich nicht um ein einfaches Update handelt, sondern um eine komplett neu entwickelte App, die nur mit einem Open-Xchange-Server der aktuellen Version 7.10.6 funktioniert, erhalten Sie diese App nicht über die automatische Update-Funktion des App Stores. Sie müssen die alte OX Drive App (“OX Drive”) deinstallieren, und die neue OX Drive App (“OX Drive by Open-Xchange”) installieren.

Die alte OX Drive App für iOS funktioniert jedoch auch weiterhin, Sie müssen also nicht sofort ein Update vornehmen.

Die Änderung betrifft nur iOS Geräte, die OX Drive App für Android muss nicht neu installiert werden.

Keine Gefahr durch “Log4j”-Sicherheitslücke

Am 09.12.2021 wurde unter dem Namen Log4Shell eine schwere Sicherheitslücke in der von vielen Java-Anwendungen genutzten Softwarebibliothek Log4j bekanntgegeben, die das Ausführen von beliebigem Schadcode auf betroffenen Servern ermöglicht.

Java ist eine eigentlich als sehr sicher geltende Programmiersprache, die daher häufig für Server-Dienste genutzt wird und auch bei uns für einige Dienste zum Einsatz kommt. Die Log4j- Softwarebibliothek wird von vielen Java-Anwendungen zum Schreiben von Protokolldateien (Logs) genutzt. Durch spezielle Zeichenketten (z.B. im User Agent-Header einer gewöhnlichen HTTP-Anfrage) können Angreifer das Nachladen von beliebiger Software veranlassen, sofern diese unverändert zur Protokollierung an Log4j durchgereicht werden.

Wir haben nach Bekanntwerden der Sicherheitslücke alle von uns genutzten Java-Anwendungen überprüft und bei von der Sicherheitslücke betroffenen Anwendungen umgehend die von den Log4j-Entwicklern vorgeschlagenen Gegenmaßnahmen umgesetzt. In den Log-Dateien der betroffenen Server gibt es keine Hinweise darauf, dass diese Sicherheitslücke vor der Umsetzung der Gegenmaßnahmen erfolgreich ausgenutzt wurde.

Web-Anwendungen wie WordPress, Typo3, Magento usw., die von unseren Kund:innen oder uns auf unseren Webservern installiert werden, sind nicht von dieser Sicherheitslücke betroffen, da sie kein Java nutzen.

PHP 8.1 verfügbar

Das Entwicklerteam der von Web-Anwendungen am häufigsten genutzten Programmiersprache PHP stellt jedes Jahr gegen Ende November eine neue Version der Programmiersprache bereit.

Heute (25.11.2021) wurde die PHP-Version 8.1 veröffentlicht. Wir haben diese neue PHP-Version bereits auf allen Webservern installiert, so dass Sie sie ab sofort nutzen können.

Änderungen in PHP 8.1

Da es sich bei PHP 8.1 um ein Minor-Release handelt, fallen die nicht zu den Vorgängerversionen abwärtskompatiblen Änderungen eher geringfügig aus. Dennoch kann es bei einigen Web-Anwendungen zu Fehlern bei der Nutzung von PHP 8.1 kommen, die jedoch in den kommenden Wochen und Monaten durch Updates dieser Anwendungen behoben werden sollten.

Eine Änderung, die zu Problemen führen kann, ist die Änderung der Standardeinstellung für die MySQLi-Fehlerbehandlung. Bisher war die Standardeinstellung MYSQLI_REPORT_OFF, damit wurden eventuelle Fehler nicht abgefangen, und die Programmausführung im Fehlerfall einfach fortgesetzt. In PHP 8.1 ändert sich die Standardeinstellung auf MYSQLI_REPORT_ERROR|MYSQLI_REPORT_STRICT, damit wird im Fehlerfall eine Exception generiert. Falls diese Exception nicht behandelt wird, können Programme jetzt Fehler anzeigen.

Eine Übersicht über alle Änderungen und Neuerung in PHP 8.1 finden Sie hier.

Neuerungen in PHP 8.1

In PHP 8.1 wurde ein neuer Datentyp für sogenannte Enumerations (enum) hinzugefügt. Eine Enumeration kann eine feste Anzahl an beliebig vorgegebenen Werten annehmen. Eine Enumeration könnte beispielsweise genutzt werden, um die verschiedenen Farben eins Kartenspiels abzubilden:

enum Suit {
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}

Eine wichtige Neuerung sind die sogenannten Fibers, damit können in PHP mehrere Aufgaben nebenläufig ausgeführt werden. Es handelt sich jedoch nicht um echte Parallelität; wird ein Fiber gestartet, so wird das Hauptprogramm angehalten, bis der Fiber unterbrochen oder beendet wird . Dieses Feature richtet sich hauptsächlich an Entwickler von PHP-Frameworks, die damit beispielsweise Event Loops implementieren können.

Eine weitere Neuerung ist der sogenannte Inheritance Cache für OpCache. Bisher wurden Vererbungsbeziehungen zwischen Klassen in OpCache nicht vollständig aufgelöst zwischengespeichert, so dass dies immer zur Laufzeit geschehen musste (Linking). Dieser Vorgang ist relativ aufwändig und verlangsamt den Programmstart. In PHP 8.1 werden Klassen jetzt vollständig gelinkt im OpCache zwischengespeichert, dies führt zu einer Performance-Verbesserung von bis zu 8%.

Verbesserungen in PHP 8.1

Wir konnten in ersten Tests eine Verbesserung der Ausführungsgeschwindigkeit von bis zu 10% im Vergleich zur Vorgängerversion PHP 8.0 feststellen. Durch die Umstellung auf PHP 8.1 kann sich die Seitenladezeit von Web-Anwendungen wie WordPress also etwas verbessern.

PHP 8.1 aktivieren

Sie können PHP 8.1 wie gewohnt entweder über unser Kundenmenü aktivieren, oder per .htaccess-Konfgurationsdatei im gewünschten Anwendungsverzeichnis mittels folgender Direktiven:

AddHandler application/x-httpd-php81 .php

Einschränkungen auf Legacy-Webservern

Beachten Sie bitte, dass Sie PHP 8.1 auf unseren Legacy-Webservern mit Unterstützung für PHP-Versionen älter als PHP 5.6 nicht im vollen Funktionsumfang nutzen können.

Da in PHP 8.1 die Unterstützung für ältere Versionen der Verschlüsselungsbibliothek OpenSSL entfernt wurde, kann dort die OpenSSL-Extension nicht genutzt werden, und es fehlt die Wrapper-Unterstützung für HTTPS und andere verschlüsselte Protokolle.

Von dieser Einschränkung sind nur Kunden und Reseller betroffen, die Hosting-Pakete auf einem Legacy-Webserver gebucht haben, da sie eine ältere PHP-Version als PHP 5.6 benötigen.

PHP 7.4 Security-only-Support

Ab dem 28. November 2021 werden die regulären Entwicklungsarbeiten an der PHP-Version 7.4 eingestellt. Es wird ab dann dann noch für ein weiteres Jahr regelmäßige Updates durch das PHP-Entwicklerteam bei sicherheitsrelevanten Problemen geben, kleinere Fehler werden jedoch nicht mehr behoben.

PHP 7.3 End-of-Life

Ab dem 6. Dezember 2021 wird die Unterstützung der PHP Version 7.3 eingestellt, es wird dann keine weiteren Updates für diese PHP-Version durch das PHP-Entwicklerteam mehr geben. Sie sollten diese PHP-Version daher nach Möglichkeit nicht mehr nutzen. Wir werden jedoch bei schweren sicherheitsrelevanten Problemen zurückportierte Updates aus neueren PHP-Versionen bereitstellen.

PHP 8.1 RC3 zum Testen verfügbar

Auf unseren Webservern steht ab sofort der dritte Release Candidate der kommenden PHP-Version 8.1 zu Testzwecken zur Verfügung.

Beachten Sie dabei bitte, dass es sich noch nicht um die endgültige Release-Version handelt, die planmäßig gegen Ende November erscheinen soll. Bis dahin werden insgesamt 6 Release Candidate Versionen erscheinen, die nur zu Testzwecken genutzt werden sollten.

Mit dem Testen der Release Candidate Versionen können Sie 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.1

Da es sich um ein neues Minor-Release handelt, fallen die nicht abwärtskompatiblen Änderungen zur Vorgängerversion 8.0 nur geringfügig aus.

Eine Änderung, die zu Problemen führen kann, ist die Änderung der Standardeinstellung für die MySQLi-Fehlerbehandlung. Bisher war die Standardeinstellung MYSQLI_REPORT_OFF, damit wurden eventuelle Fehler nicht abgefangen, und die Programmausführung im Fehlerfall einfach fortgesetzt. In PHP 8.1 ändert sich die Standardeinstellung auf MYSQLI_REPORT_ERROR|MYSQLI_REPORT_STRICT, damit wird im Fehlerfall eine Exception generiert. Falls diese Exception nicht behandelt wird, können Programme jetzt Fehler anzeigen.

Eine Übersicht über alle Änderungen und Neuerung in PHP 8.1 finden Sie hier.

Neuerungen in PHP 8.1

Eine wichtige Neuerung sind die sogenannten Fibers, damit können in PHP mehrere Aufgaben nebenläufig ausgeführt werden. Es handelt sich jedoch nicht um echte Parallelität; wird ein Fiber gestartet, so wird das Hauptprogramm angehalten, bis der Fiber unterbrochen oder beendet wird . Dieses Feature richtet sich hauptsächlich an Entwickler von PHP-Frameworks, die damit beispielsweise Event Loops implementieren können.

Eine weitere Neuerung ist die Unterstützung von Enumerations, damit können einfache Datentypen mit mehren vordefinierten Werten umgesetzt werden.

Verbesserungen in PHP 8.1

Wir konnten in ersten Tests eine Verbesserung der Ausführungsgeschwindigkeit im Vergleich zur Vorgängerversion 8.0 um bis zu 10% feststellen.

PHP 8.1 aktivieren

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


Update auf Node.js 14

Node.jsAuf unseren Webservern ist aktuell noch Node.js in Version 10 installiert. Dies war die zum Zeitpunkt der Erstellung unseres Webserver-Grundsystems aktuelle Long-Term-Support-Version (LTS).

Node.js wird auf unseren Webservern normalerweise nur in der Shell (SSH) genutzt; eine häufig genutzte Node.js-Anwendung ist Less.js.

Die Node.js-Version 10 wird ab dem 30.04.2021 nicht mehr weiter von den Node.js-Entwicklern unterstützt. Wir werden daher alle Webserver am 03.05.2021 auf die aktuelle LTS-Version 14 umstellen. Dieses Update kann unter Umständen zu Kompatibilitätsproblemen mit älteren Node.js-Anwendungen führen. Bei mittels npm installierten Node.js-Paketen sollten Sie ggf. ein Update durchführen.

Neu: Browserbasierter Dateimanager (WebFTP)

Auf vielfachen Kundenwunsch haben wir einen browserbasierten Dateimanager installiert, mit dem Sie Dateien auf dem Webserver über Ihren gewohnten Web-Browser hochladen und bearbeiten können.

Sie müssen so kein zusätzliches FTP-Programm installieren, um eine Webseite oder eine Webanwendung auf den Webserver hochzuladen. Besonders praktisch ist WebFTP auch, wenn Sie z.B. eine Konfigurationsdatei wie php.ini oder .htaccess bearbeiten wollen – dies ist nun direkt im Browser möglich. Die URL des Dateimanagers lautet webftp.variomedia.de.

Die Verbindung zum Webserver erfolgt verschlüsselt mittels SFTP. Auch die Datenübertragung zwischen Browser und WebFTP-Server erfolgt verschlüsselt (https://…). Wir nutzen als Software das beliebte WebFTP-Programm MonstaFTP.

Sie können sich bei MonstaFTP mit Ihren FTP-Zugangsdaten anmelden, die Sie im Kundenmenü einsehen können. Als Hostnamen wählen Sie eine beliebige Domain aus Ihrem Webhosting-Paket:

MonstaFTP

Wenn Sie auf eine Domain zugreifen möchten, die zwar schon bei uns eingerichtet ist, aber noch nicht bei uns registriert ist, können Sie an den Domainnamen das Suffix “domainpreview.eu” anfügen, also “meine-domain.de.domainpreview.eu”.

Beachten Sie bitte folgende Einschränkungen gegenüber einem lokalen FTP-Programm:

  • Die maximale Dateigröße für einen Upload beträgt 250 MB pro Datei.
  • Es kann nur auf Variomedia Webserver zugegriffen werden
  • Bei der Nutzung von virtuellen FTP-Benutzern muss der Port auf 2222 geändert werden

PHP 8.0 verfügbar

PHP

Wie in den Jahren zuvor erscheint auch in diesem Jahr gegen Ende November eine neue PHP-Version. In diesem Jahr steht ein großer Versionssprung von PHP 7.4 auf PHP 8.0 an, der mit einigen größeren und nicht abwärtskompatiblen Änderungen verbunden ist. Die neue PHP Version 8.0 ist heute offiziell erschienen und kann ab sofort auf unseren Webservern genutzt werden.

Änderungen in PHP 8.0

In PHP 8.0 wurden zahlreiche nicht abwärtskompatible Änderungen vorgenommen, die zu Kompatibilitätsproblemen führen können. Diese Änderungen betreffen hauptsächlich Funktionen, die bereits in den Vorgängerversionen 7.x als veraltet gekennzeichnet waren.

In PHP 8.0 wurde die XMLRPC-Extension entfernt, die in den älteren PHP-Versionen auf unseren Webservern noch verfügbar ist. Diese Extension ist für PHP 8.0 nur noch als optionales 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 den Fehlermeldungen vertrauliche Informationen (z.B. Datenbankzugangsdaten) einsehbar sind. Wir haben daher bei PHP 8.0 aus Sicherheitsgründen die PHP-Option display_errors=Off standardmäßig gesetzt, Sie können diese bei Bedarf per php.ini bzw. .user.ini-Konfigurationsdatei wieder deaktivieren.

Eine weitere Ä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.

Eine Übersicht über alle nicht abwärtskompatiblen Änderungen finden sie hier.

Neuerungen und Verbesserungen in PHP 8.0

Die vielleicht wichtigste technische Neuerung ist die Integration eines sogenannten Just-In-Time (JIT) Compilers. PHP ist eine interpretierte Skriptsprache, ein PHP-Skript muss vor der Ausführung vom menschenlesbaren Quellcode in ausführbaren Maschinencode für Computer umgewandelt werden. Diese Umwandlung erfolgt bei PHP aber nicht direkt, sondern über einen Zwischenschritt: PHP erzeugt keinen nativen Maschinencode für bestimmte Prozessoren, sondern erzeugt aus dem Quellcode in einem Zwischenschritt sogenannten Bytecode für eine virtuelle Maschine (die Zend Engine), die daraus dann ausführbaren Maschinencode für Prozessoren erzeugt. Dieser Bytecode kann zur Beschleunigung zwischengespeichert werden (OpCache), der Maschinencode muss aber immer neu erzeugt werden. Der neue JIT-Compiler kann nun auch Maschinencode erzeugen und zwischenspeichern, dadurch kann bei sehr CPU-lastigen Skripten eine deutliche Performance-Steigerung erzielt werden. Die meisten Web-Anwendungen sind allerdings nicht besonders CPU-lastig, so ergibt sich z.B. für eine WordPress-Installation eine kaum messbare Verkürzung der Seitenladezeit. Der JIT-Compiler kann nicht mit OpCache im reinen Dateimodus genutzt werden, auf unseren Webservern funktioniert er daher nur in Webhosting-Paketen mit PHP-FPM (Pro- oder Dedicated-Server). Allerdings muss PHP-FPM dann bei jeder Änderung an einer PHP-Datei neu gestartet werden, was bei Web-Anwendungen mit automatischen Updates problematisch ist. Wir werden den JIT-Compiler daher zunächst nicht einsetzen.

Eine für Softwareentwickler interessante Neuerung ist die Unterstützung von sogenannten Union Types. Union Types akzeptieren Werte von mehreren unterschiedlichen Typen (z.B. int und float) , die Verwendung lässt sich mit folgendem Beispiel veranschaulichen:

class Number {
    private int|float $number;
 
    public function setNumber(int|float $number): void {
        $this->number = $number;
    }
 
    public function getNumber(): int|float {
        return $this->number;
    }
}

Eine Übersicht über alle Neuerungen in PHP 8.0 finden Sie hier.

Performance-Verbesserungen in PHP 8.0

Wir konnten in ersten Tests eine leichte Verbesserung der PHP-Ausführungsgeschwindigkeit von etwa 5% bis 10% im Vergleich zur Vorgängerversion 7.4 feststellen.

PHP 8.0 aktivieren

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

AddHandler application/x-httpd-php80 .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?„.

Beachten Sie bitte, dass viele Web-Anwendungen noch nicht mit PHP 8.0 kompatibel sind. Dies betrifft auch das am häufigsten genutzte CMS WordPress in der gegenwärtig aktuellen Version 5.5.3. Die Unterstützung von PHP 8.0 ist für die kommende WordPress-Version 5.6 angekündigt, die voraussichtlich am 8.12. erscheinen wird. Das ebenfalls beliebte CMS Joomla ist ab der der gegenwärtig aktuellen Version 3.9.23 mit PHP 8.0 kompatibel.

PHP 7.2 End of Life

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

Falls Sie noch PHP 7.2 für Ihre Webseiten nutzen, sollten Sie aus Sicherheitsgründen möglichst bald auf eine neuere PHP-Version umstellen. Wir empfehlen, momentan noch nicht die neue PHP Version 8.0 zu nutzen, da hier noch zahlreiche Kompatibilitätsprobleme auftreten können. Verwenden Sie zunächst besser noch die Vorgängerversionen PHP 7.4 oder 7.3.

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