6. Dezember 2025 · onlime
PHP 8.5 ist veröffentlicht und bringt wieder einige praktische Neuerungen für den Entwickleralltag. Im Fokus stehen diesmal vor allem die neue URI-Extension, der Pipe-Operator |>, clone() mit direkten Property-Anpassungen sowie das neue Attribut #[\NoDiscard]. Die offiziellen Release Notes nennen ausserdem weitere kleinere Sprachverbesserungen, neue Hilfsfunktionen und allgemeines Cleanup.
Ein grosser Dank geht wieder an Ondřej Surý, welcher unter DEB.SURY.ORG stets die aktuellsten PHP-Packages für Debian Linux zur Verfügung stellt. Der beste Debian package maintainer ever!
PHP 8.5 wurde am 20. November 2025 veröffentlicht und am 6. Dezember durch Onlime für alle Kunden freigegeben. Sämtliche Erweiterungen, welche bisher unter PHP 8.4 verfügbar waren, stehen euch auch bereit unter PHP 8.5.
Die neue Version lässt sich in unserem neuen Controlpanel unter «PHP Manager» konfigurieren und unter «Subdomains» kannst du jede Subdomain resp. die Haupt-Domain (www) individuell auf PHP 8.5 upgraden.
Neuerungen in PHP 8.5
Die wichtigsten neuen Features:
- Neue URI-Extension – URLs und URIs können nun sauberer und standardkonformer verarbeitet werden.
use Uri\Rfc3986\Uri;
$uri = new Uri('https://www.onlime.ch/blog');
echo $uri->getHost();
- Pipe-Operator
|>– Funktionsketten lassen sich nun deutlich lesbarer von links nach rechts schreiben.
$title = ' PHP 8.5 ';
$slug = $title |> trim(...) |> strtolower(...);
clone()mit direkten Anpassungen – Beim Klonen eines Objekts können Properties jetzt direkt überschrieben werden. Gerade beireadonly-Objekten sehr praktisch.
$newUser = clone($user, [
'name' => 'Alice',
]);
- Neues
#[\NoDiscard]-Attribut – Hilft dabei, Rückgabewerte nicht versehentlich zu ignorieren.
#[\NoDiscard]
function getToken(): string
{
return 'abc123';
}
getToken(); // Warning: The return value of function getToken() should either be used or intentionally ignored by casting it as (void)
- Closures in konstanten Ausdrücken – Statische Closures und First-Class Callables dürfen nun auch in konstanten Ausdrücken verwendet werden, etwa in Attributen oder Default-Werten.
#[Check(static fn () => true)]
class Demo {}
- Neue
array_first()- undarray_last()-Funktionen – Kleine, aber praktische Ergänzungen für typische Array-Zugriffe.
$first = array_first($items);
$last = array_last($items);
- und einiges mehr... Die komplette Übersicht findet ihr wie gewohnt auf der offiziellen Release-Seite von PHP.
Für weitere Infos beachte bitte auch die offiziellen Seiten der PHP Group und unser Support-Wiki:
- PHP 8.5 Release Announcement
- PHP 8.5 Changelog
- PHP 8.5 Migration Guide
- Onlime Support-Wiki: PHP Version & Upgrade Tipps
Weitere sehr empfehlenswerte Artikel:
Breaking Changes
PHP 8.5 ist eine neue Major-Version. Das bedeutet, dass einige Änderungen enthalten sind, die mit älterem Code nicht mehr kompatibel sind. Unter anderem wurde der Backtick-Operator als Alias für shell_exec() als deprecated markiert. Ebenfalls deprecated sind nicht-kanonische Casts wie (boolean), (integer) oder (double) – künftig sollten stattdessen (bool), (int) und (float) verwendet werden. Ausserdem wurden __sleep() und __wakeup() soft-deprecated – verwende stattdessen __serialize() und __unserialize().
Daneben gibt es weitere Deprecations und kleinere Inkompatibilitäten, die du vor dem Einsatz in Produktion testen solltest. Eine Liste mit allen Breaking Changes findest du wie gewohnt auf der Upgrade-Seite der PHP Group.
Bereit für PHP 8.5?
Aus unserer Sicht gibt es viele gute Gründe für den Wechsel auf PHP 8.5. Die neue Version bringt nicht nur technische Verbesserungen, sondern macht den Code an mehreren Stellen auch angenehmer und moderner. Wie immer empfiehlt es sich, eigene Applikationen, Libraries und Extensions vor dem Umstieg kurz zu testen.
Du kannst ganz einfach testen, ob deine Website lauffähig ist unter dieser neuen Version. Im Controlpanel unter «Subdomains» kannst du die PHP-Version jederzeit up- resp. downgraden.