PHP 8.5 RC1 zum Testen verfügbar

Wir haben auf unseren Webservern nun den ersten Release Candidate der kommenden PHP-Version 8.5 installiert. Mit den Release Candidate Versionen können Anwender und Entwickler die Kompatibilität ihrer Web-Anwendungen mit der kommenden PHP-Version vor dem offiziellen Release-Termin prüfen, und gegebenenfalls erforderliche Änderungen vornehmen.

Beachten Sie bitte, dass die Release Candidate Versionen nicht für den dauerhaften Produktivbetrieb von Web-Anwendungen genutzt werden sollten, da noch einige bisher unentdeckte Fehler und Probleme auftreten können.

Der geplante Release-Termin für die General Availability-Version von PHP 8.5 ist der 20.11.2025. Bis dahin sollen noch 3 weitere Release Candidate-Versionen mit letzten Verbesserungen und Fehlerbehebungen erscheinen, die wir zeitnah auf den Webservern installieren werden.

Änderungen, Neuerungen und Verbesserungen

In PHP 8.5 gibt es zahlreichen Änderungen und Neuerungen, von denen hier nur die wichtigsten kurz vorgestellt werden sollen.

OpCache

Ab PHP Version 8.5 ist der PHP OpCode Cache OpCache kein optionales Zusatzmodul mehr, sondern fest in PHP integriert. Dadurch muss OpCache nicht mehr als Zend Extension-Modul über eine php.ini-Konfigurationsdatei geladen werden.

Falls Sie OpCache verwenden möchten, müssen Sie jedoch weiterhin eine php.ini-Konfigurationsdatei erstellen, um den Datei-Modus von OpCache mit dem gewünschten Cache-Verzeichnis zu konfigurieren.

Neue Funktionen: array_first() und array_last()

Um direkt auf das erste bzw. letzte Element in einem Array zuzugreifen, gibt es in PHP 8.5 nun die beiden entsprechenden Funktionen array_first() und array_last():

array_first(["single element"]); // "single element"
array_last(["single element"]); // "single element"
 
array_first([]); // NULL
array_last([]); // NULL
 
array_first([1 => 'a', 0 => 'b', 3 => 'c', 2 => 'd']); // 'a'
array_last([1 => 'a', 0 => 'b', 3 => 'c', 2 => 'd']); // 'd'
 
$str = "hello";
array_first([&$str, false]); // "hello" (no ref)
array_last([false, &$str]); // "hello" (no ref)

Stack Traces

Bei schwerwiegenden Fehlern werden nun wie bei vielen anderen Programmiersprachen längst üblich sogenannte Stack Traces ausgegeben. Dabei handelt es sich um eine Liste der Funktionen bzw. Methoden, die vor dem Auftreten des Fehlers aufgerufen wurden. Vertrauliche Parameter, die mit dem Attribut  #[\SensitiveParameter] markiert wurden, werden dabei ausgeblendet.

Performance-Verbesserungen

Die für die meisten Endanwender interessanteste Verbesserung bei neuen PHP-Versionen betrifft die Performance. Wir konnten in ersten Tests mit WordPress eine Verbesserung der Seitenladezeit von etwa 5% ermitteln.

PHP 8.5 aktivieren

Sie können die PHP-Version 8.5 für die gewünschten Domains entweder im Kundenmenü einstellen, oder per .htaccess-Konfigurationsdatei im Hauptverzeichnis der gewünschten Web-Anwendung mittels folgender Direktive aktivieren:

AddHandler application/x-httpd-php85 .php