Alle Infos zur aktuellen PHP Version: PHP 8.X
Das Wichtigste auf einen Blick
Was sind die interessantesten Änderungen?
Tipp
Die neuesten PHP-Versionen sind bei unseren Webhosting-Paketen immer in kürzester Zeit verfügbar – frei wählbar über das Modul „Entwicklung“ im Hosting Control Panel.
Weitere Artikel zum Thema PHP
PHP 8.3
Alle Infos zu den neuen Funktionen und Verbesserungen.
PHP verwalten
PHP auf Ihrem Webhosting verwalten.
WordPress PHP-Version aktualisieren
Sorgenfreies Update Ihrer WordPress PHP-Version
PHP ist eine der zentralen Technologien des Internets. Mit PHP lassen sich serverseitig dynamische Webseiten erstellen: Die Seiten werden bei jedem Aufruf neu generiert, häufig durch das Abrufen von Inhalten aus einer Datenbank.
Laut W3Techs liegt der Anteil von PHP bei rund 70 % aller Websites mit bekannter serverseitiger Programmiersprache – mit weitem Abstand vor allen anderen Sprachen. Innerhalb dieser Websites hat sich PHP 8 inzwischen als Standard durchgesetzt und PHP 7 deutlich überholt.

Aktuelle PHP Version
Die aktuellste PHP-Version ist 8.5. Jede PHP-Version durchläuft einen festen Lebenszyklus von rund vier Jahren:
| Version | Release | Aktiver Support bis | Sicherheitsupdates bis | Status |
|---|---|---|---|---|
| PHP 8.5 | 20.11.2025 | 31.12.2027 | 31.12.2029 | Aktuelle Version |
| PHP 8.4 | 21.11.2024 | 31.12.2026 | 31.12.2028 | Empfohlener Standard |
| PHP 8.3 | 23.11.2023 | beendet (Nov. 2025) | 31.12.2027 | Nur noch Sicherheitsupdates |
| PHP 8.2 | 08.12.2022 | beendet (Dez. 2024) | 31.12.2026 | Umstieg jetzt planen |
| PHP 8.1 | 25.11.2021 | beendet | beendet am 31.12.2025 | End of Life |
| PHP 8.0 | 26.11.2020 | beendet | beendet am 26.11.2023 | End of Life |
| PHP 7.4 | 28.11.2019 | beendet | beendet am 28.11.2022 | End of Life |
Support-Übersicht (Stand August 2026)
Was bedeutet das Erscheinen einer neuen PHP-Version?
Zusammenfassung
Neue PHP-Versionen bringen bessere Performance, zusätzliche Sprachfunktionen und Sicherheitsupdates. Gleichzeitig können veraltete Schreibweisen entfallen. Deshalb sollte der eigene Code – oder das eingesetzte CMS samt Plugins – vor einem Versionswechsel auf Kompatibilität geprüft werden.
Wie PHP-Code ausgeführt wird:
Ein PHP-Programm besteht aus Textzeichen, die der Prozessor nicht direkt verarbeiten kann. Der PHP-Interpreter auf dem Server übersetzt den Code in Maschinensprache. Dieser Vorgang läuft in vier Schritten ab:
Seit PHP 5.5 beschleunigt die OPcache-Erweiterung diesen Ablauf, indem sie den Opcode nach der ersten Kompilierung zwischenspeichert.
Was ändert sich mit einer neuen PHP-Version?
Eine neue PHP-Version bedeutet ein Update dieses Interpreters. Änderungen betreffen zwei Ebenen:
1. Optimierung der internen Abläufe:
Der Übersetzungs- und Ausführungsprozess wird schneller. Das verkürzt Ladezeiten – besonders spürbar bei Seiten mit viel Traffic.
2. Anpassung und Modernisierung der Programmiersprache:
Neue Befehle und Funktionen kommen hinzu, veraltete werden als „deprecated“ markiert und in einer späteren Hauptversion entfernt. Das reduziert Fehleranfälligkeit und modernisiert die Sprache.
Die Neuerungen der PHP-8-Reihe im Überblick
PHP 8.0: die Grundlage (26.11.2020)
PHP 8.0 war ein Major-Update und hat die Basis für alles Folgende gelegt. Auch wenn die Version selbst längst End of Life ist, stammen viele heute selbstverständliche Sprachmittel von hier.
JIT-Compiler
Die größte interne Neuerung war der „Just in Time“-Compiler (JIT). Er beobachtet während der Ausführung häufig aufgerufene Codebereiche, übersetzt diese direkt in Maschinensprache und speichert das Ergebnis, statt es bei jedem Durchlauf neu zu erzeugen.
In der Praxis zeigt sich dabei ein wichtiger Unterschied: Bei rechenintensiven Programmen (Bildverarbeitung, mathematische Berechnungen, Datenverarbeitung) bringt der JIT deutliche Gewinne. Bei typischen Web-Anwendungen wie WordPress, Drupal oder TYPO3 fällt der Effekt gering aus, weil dort Datenbankabfragen, Dateizugriffe und HTTP-Requests die Ausführungszeit bestimmen – nicht die PHP-Ausführung selbst. Der große Performance-Sprung von PHP 7 auf PHP 8 kommt vor allem aus anderen Optimierungen der Engine, nicht aus dem JIT.
Seit PHP 8.4 wird der JIT über die Einstellung opcache.jit gesteuert und kann gezielt mit opcache.jit=disable deaktiviert werden.
Named Arguments
Bis PHP 7 musste beim Funktionsaufruf die Reihenfolge der Parameter exakt eingehalten werden:
function fun($x, $y)
{
return $x * 4 + $y * 6;
}
echo fun(2, 3);
Mit Named Arguments lässt sich beim Aufruf angeben, welcher Parameter welchen Wert erhält:
echo fun(y: 2, x: 3);
Besonders nützlich wird das bei Standardwerten. Sie können damit gezielt nur den zweiten Parameter setzen und für den ersten den Standardwert verwenden:
function fun($x = 4, $y = 2)
{
return $x * 4 + $y * 6;
}
echo fun(y: 5);
Union Types
Datentypangaben verhindern, dass Funktionen mit unpassenden Werten rechnen. Bis PHP 7 war jedoch nur ein einziger Typ pro Parameter möglich – wer int angab, verlor bei Fließkommazahlen die Nachkommastellen. Union Types erlauben mehrere Typen, getrennt durch einen senkrechten Strich:
function fun(int|float $zahl): int|float
{
return $zahl * $zahl + 2;
}
Das funktioniert auch mit Klassen und für Rückgabewerte. Der Typ void lässt sich weiterhin nicht mit anderen Typen kombinieren.
Ergänzung: PHP 8.1 hat dieses System um Intersection Types (A&B) erweitert, PHP 8.2 um DNF-Typen wie (A&B)|null.
Strengere Prüfung bei überschriebenen Methoden
Wird eine Methode in einer abgeleiteten Klasse mit einem abweichenden Datentyp überschrieben, gab PHP 7 nur eine Warnung aus. PHP 8 erzeugt einen Fehler:
class Klasse1
{
public function methode(int $a) {}
}
class Klasse2 extends Klasse1
{
public function methode(string $a) {} // Fatal error ab PHP 8
}
Return Type static
Seit PHP 8 ist static ein validierter Rückgabetyp. Er gibt an, dass das zurückgegebene Objekt vom selben Typ ist wie das Objekt, auf dem die Methode aufgerufen wurde – auch bei abgeleiteten Klassen:
class Elternklasse
{
public function kopie(): static
{
return clone $this;
}
}
class Kindklasse extends Elternklasse {}
$objekt = new Kindklasse();
$kopie = $objekt->kopie(); // Objekt vom Typ Kindklasse
Constructor Property Promotion
Sichtbarkeitsangaben mussten bis PHP 7 mehrfach notiert werden – bei der Eigenschaft und im Konstruktor. Seit PHP 8 genügt eine einzige Angabe direkt in der Konstruktor-Signatur:
class Punkt
{
public function __construct(
public float $x = 0.0,
public float $y = 0.0,
) {}
}
Vorher waren dafür rund doppelt so viele Zeilen nötig.
Weitere Neuerungen in PHP 8.0
str_contains(),str_starts_with(),str_ends_with(): liefern einen booleschen Wert und ersetzen die fehleranfällige Prüfung überstrpos(), bei der die Rückgabe0leicht mitfalseverwechselt wird.- Nullsafe-Operator
?->: bricht eine Methodenkette ab, sobald ein Zwischenwertnullist. match-Ausdruck: strikte, wertliefernde Alternative zuswitch.- Attribute (
#[...]): strukturierte Metadaten direkt im Code statt in Docblock-Kommentaren. - Weak Maps: Referenzen, die den Garbage Collector nicht daran hindern, ein Objekt zu löschen – relevant für Caches in größeren Anwendungen.
::classauf Objekten:$meinObjekt::classgibt den Klassennamen zurück.- Arrays mit negativem Startindex: durchgehende Nummerierung statt Sprung auf 0.
- Konvertierung zwischen
DateTimeundDateTimeImmutablein beide Richtungen.
PHP 8.1 (25.11.2021) – End of Life
- Enums: echte Aufzählungstypen statt Klassenkonstanten.
- Readonly Properties: Eigenschaften, die nach der Initialisierung nicht mehr verändert werden können.
- Fibers: Grundlage für kooperatives Multitasking, genutzt von asynchronen Frameworks.
- First-Class Callable Syntax:
strlen(...)erzeugt ein Callable-Objekt. - Never Return Type, Intersection Types,
array_is_list(),newin Initialisierern.
PHP 8.2 (08.12.2022) – Sicherheitsupdates bis 31.12.2026
- Readonly Classes:
readonly classmarkiert alle Eigenschaften auf einmal. - DNF-Typen: Kombinationen wie
(Countable&ArrayAccess)|null. - Eigenständige Typen
null,falseundtrue. #[\SensitiveParameter]: verhindert, dass Passwörter und Tokens in Stacktraces auftauchen.- Neue Random-Extension mit
\Random\Randomizer. - Dynamische Eigenschaften sind deprecated – ein häufiger Stolperstein bei älteren Codebasen und Plugins.
PHP 8.3 (23.11.2023) – Sicherheitsupdates bis 31.12.2027
- Typisierte Klassenkonstanten.
json_validate(): prüft JSON, ohne es vollständig zu dekodieren – spart Speicher bei großen Datenmengen.#[\Override]: macht explizit, dass eine Methode eine geerbte Methode überschreibt; Tippfehler werden zum Fehler statt zur stillen Neudefinition.- Readonly-Eigenschaften dürfen beim Klonen neu gesetzt werden.
- Aussagekräftigere Fehlermeldungen bei
unserialize(),array_sum()undarray_product().
PHP 8.4 (21.11.2024) – der empfohlene Standard
PHP 8.4 ist die Version mit den meisten Neuerungen seit 8.0.
Property Hooks
Getter- und Setter-Logik lässt sich direkt an der Eigenschaft definieren. Das ersetzt große Mengen an Boilerplate-Code:
class Benutzer
{
public string $vorname;
public string $nachname;
public string $vollerName {
get => $this->vorname . ' ' . $this->nachname;
}
}
Hooks können außerdem in Interfaces deklariert werden.
Asymmetrische Sichtbarkeit
Lesen und Schreiben einer Eigenschaft können unterschiedliche Sichtbarkeiten haben:
class Benutzer
{
public private(set) int $id;
public function __construct()
{
$this->id = 42;
}
}
$benutzer = new Benutzer();
echo $benutzer->id; // 42
$benutzer->id = 16; // Fehler: private(set)
Weitere Neuerungen in PHP 8.4
- Neue DOM-API mit HTML5-Unterstützung:
\Dom\HTMLDocumentverarbeitet modernes HTML standardkonform. Die alte\DOMDocument-Klasse konnte nur HTML 4.01 und bleibt aus Kompatibilitätsgründen erhalten. - Neue Array-Funktionen:
array_find(),array_find_key(),array_any(),array_all(). newohne Klammern:new PhpVersion()->getVersion()statt(new PhpVersion())->getVersion().- Lazy Objects: Objekte werden erst bei ihrem ersten Zugriff vollständig initialisiert – relevant für ORMs und Dependency-Injection-Container.
#[\Deprecated]-Attribut für eigene Funktionen und Methoden.mb_trim()und weitere Multibyte-Funktionen, neue Rundungsmodi fürround(), treiberspezifische PDO-Subklassen.- Implizit nullable Parameter (
function f(int $a = null)) sind deprecated – künftig ist?int $a = nullzu schreiben. Das betrifft ältere Bibliotheken häufig.
PHP 8.5 – die aktuelle Version
Pipe-Operator |>
Der Pipe-Operator verkettet Aufrufe von links nach rechts, ohne Zwischenvariablen und ohne verschachtelte Klammern:
$ergebnis = ' Hallo Welt '
|> trim(...)
|> strtoupper(...);
URI-Extension
PHP bringt erstmals eine eingebaute, standardkonforme URL-Verarbeitung mit – nach RFC 3986 und dem WHATWG-URL-Standard. Damit entfällt für viele Projekte eine externe Bibliothek, und das fehleranfällige Zusammensetzen von URLs per String-Operation gehört der Vergangenheit an.
Clone With
Objekte lassen sich klonen und dabei einzelne Eigenschaften überschreiben. Das macht das „With-er“-Muster für readonly-Klassen praktikabel:
$hell = clone $farbe with { alpha: 128 };
#[\NoDiscard]
Das Attribut markiert Funktionen, deren Rückgabewert nicht ignoriert werden darf. Wird er verworfen, gibt PHP eine Warnung aus – wer bewusst verwirft, schreibt (void) davor.
#[\NoDiscard('Die Verarbeitung kann für einzelne Einträge fehlschlagen')]
function verarbeite(array $eintraege): array { /* ... */ }
verarbeite($daten); // Warnung
$ergebnis = verarbeite($daten); // in Ordnung
(void) verarbeite($daten); // bewusst verworfen
Weitere Neuerungen in PHP 8.5
array_first()undarray_last(): liefern direkt den ersten bzw. letzten Wert eines Arrays.- Persistente cURL-Share-Handles und
curl_multi_get_handles(): Verbindungen zu denselben Hosts müssen nicht bei jedem Request neu aufgebaut werden. - Stacktraces bei Fatal Errors: deutlich schnellere Fehlersuche im Log.
get_error_handler()undget_exception_handler(): aktive Handler lassen sich auslesen.- Statische Closures und First-Class-Callables in konstanten Ausdrücken, etwa in Attribut-Parametern.
max_memory_limit: eine INI-Direktive, die eine absolute Obergrenze fürmemory_limitsetzt – auch wenn ein Skript den Wert zur Laufzeit erhöht.
Kompatibilität: Was sich beim Umstieg ändern kann
Der große Bruch liegt bei PHP 8.0
PHP 8.0 war ein Major-Update ohne Abwärtskompatibilität. Wer heute noch von PHP 7.x kommt, muss mit echtem Anpassungsaufwand rechnen. Die wichtigsten Änderungen aus PHP 8.0:
matchist ein reserviertes Wort und kann nicht mehr als Bezeichner verwendet werden.- Konstruktoren müssen
__construct()heißen; der alte Stil mit dem Klassennamen wird nicht mehr unterstützt. - Nicht-statische Methoden können nicht mehr statisch aufgerufen werden.
define()erlaubt keine case-insensitiven Konstanten mehr (drittes Argument darf nichttruesein).- Entfernte Funktionen:
create_function(),each(),array_key_exists()auf Objekten. parentin einer Klasse ohne Elternklasse führt zu einem Fehler.- Viele bisherige Warnungen bei internen Funktionen wurden zu
TypeError-Ausnahmen.
Innerhalb von PHP 8 sind die Sprünge klein
Zwischen den 8.x-Versionen bleibt die Kompatibilität weitgehend erhalten. Typische Stolpersteine sind hier nicht entfernte Funktionen, sondern Deprecation-Warnungen:
- PHP 8.2: dynamische Eigenschaften und
${}-String-Interpolation sind deprecated. - PHP 8.4: implizit nullable Parameter sind deprecated.
Diese Meldungen brechen die Seite in der Regel nicht, füllen aber Logfiles und deuten auf Code hin, der in einer künftigen Hauptversion nicht mehr läuft. Der Sprung von 8.3 auf 8.5 ist für gepflegte Projekte meist unproblematisch – der Sprung von 7.4 auf 8.x ist es nicht.
Was müssen Webseitenbetreiber beachten?
Welche PHP-Version kann ich nutzen?
Das hängt von Ihrem Hosting-Anbieter ab: Erst wenn dieser eine Version auf seinen Servern bereitstellt, können Sie sie auswählen. Bei Domaintechnik® stehen neue PHP-Versionen dank des selbst entwickelten Control Panels kurz nach dem offiziellen Release zur Verfügung – frei wählbar über das Modul „Entwicklung“.
Muss ich zwingend umsteigen?
Solange Ihre Version noch Sicherheitsupdates erhält, besteht kein akuter Zwang. Genau darin liegt aber der Punkt: Alle PHP-Versionen bis einschließlich 8.1 sind End of Life. Wer darauf läuft, betreibt Software, für die neu entdeckte Sicherheitslücken dauerhaft offen bleiben – unabhängig davon, ob die Seite technisch noch funktioniert.
Für PHP 8.2 gilt eine klare Frist: Ab dem 1. Jänner 2027 gibt es keine Patches mehr.
Zusätzlich spricht die Performance für ein Update. Eine moderne Anwendung läuft auf PHP 8.4 deutlich schneller als derselbe Code auf PHP 7.4 und benötigt weniger Speicher. Kürzere Ladezeiten wirken sich auch auf die Position Ihrer Seite in den Suchergebnissen aus.
Wie stelle ich meine PHP-Version um?
Die Umstellung selbst erfolgt in wenigen Klicks im Control Panel. Wichtiger ist die Vorbereitung:
- Backup erstellen. Vor jeder Änderung – so kommen Sie im Zweifel in wenigen Minuten zurück.
- CMS, Themes und Plugins aktualisieren. Die meisten Kompatibilitätsprobleme entstehen durch veraltete Erweiterungen, nicht durch das CMS selbst.
- Systemvoraussetzungen prüfen. WordPress empfiehlt inzwischen PHP 8.3 oder neuer. Andere CMS nennen eigene Mindestversionen.
- Umstellen und testen. Prüfen Sie Startseite, Formulare, Login, Warenkorb und Checkout sowie das Error-Log.
- Bei individuell entwickelter Software: von einer Entwicklerin oder einem Entwickler prüfen lassen. Werkzeuge wie PHPCompatibility oder Rector finden problematische Stellen automatisiert.
Eine Schritt-für-Schritt-Anleitung für WordPress finden Sie unter WordPress PHP-Version aktualisieren.
Häufige Fragen
Welche PHP-Version ist aktuell?
PHP 8.5.
Welche PHP-Version sollte ich verwenden?
Für die meisten Websites ist PHP 8.4 die sichere Wahl: ausgereift, breit unterstützt und mit Sicherheitsupdates bis Ende 2028. PHP 8.5 ist die bessere Wahl, wenn alle eingesetzten Erweiterungen aktiv gepflegt werden – hier laufen die Updates bis Ende 2029.
Welche PHP-Versionen werden noch unterstützt?
PHP 8.5, 8.4, 8.3 und 8.2. PHP 8.2 verliert seinen Support am 31. Dezember 2026.
Ist PHP 7.4 noch sicher?
Nein. PHP 7.4 erhält seit dem 28. November 2022 keine Sicherheitsupdates mehr. Ein Update ist dringend erforderlich.
Was passiert, wenn ich auf einer End-of-Life-Version bleibe?
Die Seite läuft zunächst weiter. Neu entdeckte Sicherheitslücken werden aber nicht mehr geschlossen. Zusätzlich stellen viele Plugins, Frameworks und Payment-Anbieter irgendwann die Unterstützung ein.
Kann ich nach einer Umstellung wieder zurückwechseln?
Ja. Im Hosting Control Panel lässt sich die PHP-Version jederzeit wieder ändern.