Alte PHP-Anwendung modernisieren: Schritt für Schritt auf PHP 8

Warum die PHP-Version zählt und wie der Umstieg ohne Stillstand gelingt.

Viele Unternehmen betreiben PHP-Anwendungen, die vor Jahren gebaut wurden und seitdem „einfach laufen“. Läuft die PHP-Version aus, gibt es keine Sicherheitsupdates mehr. So gelingt der Umstieg auf eine aktuelle Version Schritt für Schritt.

Warum die PHP-Version wichtig ist

Jede PHP-Version erhält nur für einen festen Zeitraum Sicherheitsupdates. Danach werden neu entdeckte Lücken nicht mehr geschlossen. Die offiziellen Zeiträume stehen auf php.net.

VersionSicherheitsupdates bis
PHP 7.428.11.2022 (abgelaufen)
PHP 8.026.11.2023 (abgelaufen)
PHP 8.131.12.2025 (abgelaufen)
PHP 8.231.12.2026
PHP 8.331.12.2027
PHP 8.431.12.2028
PHP 8.531.12.2029

Stand Oktober 2026. Maßgeblich ist die aktuelle Übersicht auf php.net.

Schritt 1: Bestand aufnehmen

Welche PHP-Version läuft? Werden Abhängigkeiten mit Composer verwaltet oder liegen Bibliotheken als Kopie im Projekt? Welche Erweiterungen und Datenbanken werden genutzt, und wo läuft die Anwendung? Diese Fragen bestimmen den Aufwand stärker als die reine Codemenge.

Schritt 2: Ein Sicherheitsnetz aus Tests

Bevor Code geändert wird, sollten automatisierte Tests das heutige Verhalten festhalten, sogenannte Charakterisierungstests. Sie prüfen nicht, ob das Verhalten richtig ist, sondern ob es nach der Umstellung gleich bleibt.

Schritt 3: Werkzeuge nutzen

  • Statische Analyse mit PHPStan findet Typfehler und veraltete Aufrufe, ohne den Code auszuführen.
  • Rector kann viele Anpassungen für neue PHP-Versionen automatisch vornehmen.
  • Composer macht Abhängigkeiten nachvollziehbar und aktualisierbar.

Schritt 4: In Etappen aktualisieren

Statt direkt von PHP 7.4 auf die neueste Version zu springen, ist ein Weg über Zwischenversionen oft übersichtlicher. Typische Stolpersteine sind:

  • Ab PHP 8.0: strengere Typprüfung bei internen Funktionen und geänderte Vergleiche zwischen Zahlen und Zeichenketten.
  • Ab PHP 8.1: Warnungen, wenn null an interne Funktionen übergeben wird, die eine Zeichenkette erwarten.
  • Ab PHP 8.2: Dynamisch angelegte Eigenschaften in Klassen sind veraltet.

Schritt 5: Ausliefern ohne Risiko

Ein automatisierter Build mit Tests und ein Deployment, das bei Fehlern die alte Version weiterlaufen lässt, machen künftige Updates zur Routine statt zum Projekt.

Modernisieren oder neu bauen?

Ist die fachliche Logik solide und nur die Technik veraltet, lohnt sich meist die schrittweise Modernisierung. Passt die Anwendung fachlich nicht mehr zu den heutigen Abläufen, kann eine Neuentwicklung sinnvoller sein. Eine Bestandsaufnahme liefert die Grundlage für diese Entscheidung.

Quellen

  1. PHP: Supported Versions
  2. PHP-Handbuch: Migration von PHP 7.4 auf PHP 8.0
  3. PHPStan · Rector

Fragen zu diesem Thema?

Wir ordnen ein, was das konkret für Ihr Produkt oder Ihren Prozess bedeutet.

Dieser Beitrag ist eine technische Einordnung und ersetzt keine Rechtsberatung. Maßgeblich sind die Primärquellen.

Erst verstehen. Dann bauen.

Beschreiben Sie kurz Ausgangslage und Ziel. Sie bekommen eine persönliche Antwort mit den Fragen, die für einen sinnvollen Scope wichtig sind.