PHP Upgrade & Legacy Software

PHP 5.6 auf PHP 8 aktualisieren

Deine Anwendung stammt aus der PHP-5.6-Zeit und wird noch gebraucht? Ich prüfe, wie ihr bestehender Code auf einer unterstützten PHP-8-Version weiterlaufen kann.

PHP-Version, Hosting und eine vorhandene Fehlermeldung reichen für den ersten Kontakt häufig bereits aus.

Ich bin Stefan Pilz, PHP- und Shopware-Entwickler. Ich übernehme bestehende PHP-Software für Unternehmen und Agenturen und mache sie auf einer unterstützten PHP-Version weiter nutzbar. Von Paphos in Zypern arbeite ich remote für Deutschland, Europa und weltweit.

  • Eigene PHP-Websites seit 2004
  • Direkter Kontakt zum Entwickler
  • Eigenentwicklungen willkommen
  • Framework optional

Muss zwischen PHP 5.6 und PHP 8 jede Version produktiv laufen?

Nein. Ein direkter Wechsel der Produktivumgebung kann möglich sein, nachdem die Anwendung für die Zielversion angepasst und geprüft wurde. Das bedeutet nicht, dass Änderungen der übersprungenen Versionen entfallen. Gerade bei alten Frameworks oder Bibliotheken können Zwischenschritte in der Entwicklungsumgebung nötig sein.

PHP 5.6 wird vom PHP-Projekt nicht mehr unterstützt. Dass ein Hoster die Laufzeit noch anbietet, ersetzt keine Wartung der Sprache. Für die Zielversion zählen verbleibender Support, Hosting und die Kompatibilität der Anwendung; PHP 8.0 ist nicht automatisch ein sinnvoller Endpunkt, nur weil es zur 8er-Reihe gehört. Die offizielle Supportübersicht von PHP ist dafür maßgeblich.

Wo bei alten Codebasen Arbeit entstehen kann

Datenbank und entfernte Funktionen

Die alte mysql_*-Erweiterung wurde bereits mit PHP 7 entfernt. Falls sie verwendet wird, muss der Datenbankzugriff angepasst werden. Das sagt noch nichts darüber aus, ob die Datenbank selbst ersetzt werden muss.

Fehlerbehandlung und Sprachverhalten

Fehlerklassen und Ausnahmebehandlung haben sich verändert. Ein alter Fehlerhandler kann daher nicht einfach als unverändert passend gelten. Hinzu kommen entfernte Funktionen und veränderte Typregeln in späteren Releases.

Bibliotheken und Frameworks

Einzelne kopierte Libraries sind ebenso relevant wie Composer-Pakete. Bei Frameworks prüfen wir, welche Version die Ziel-Laufzeit unterstützt und ob benötigte Erweiterungen weiter verfügbar sind.

Die offiziellen Hinweise für PHP 5.6 → 7.0 und PHP 7.4 → 8.0 zeigen Beispiele. Für das Projekt sind zusätzlich die Migrationshinweise aller weiteren übersprungenen Versionen bis zum gewählten Ziel relevant.

Eigenentwicklung oder Framework: Der Bestand entscheidet

Eine Website aus einzelnen Dateien kann gezielt angepasst werden. Sie benötigt nicht erst Composer, Symfony oder Laravel, um auf einer anderen PHP-Laufzeit zu funktionieren. Mehr zu PHP ohne Framework.

Bei einer Framework-Anwendung hängen PHP- und Framework-Version zusammen. Das Framework-Update ist ein eigener Teil der Analyse; ein kompletter Architekturwechsel ist keine Pflicht.

Vor der Umstellung klären

  1. Welche Seiten, Formulare, Logins und Hintergrundjobs werden tatsächlich benutzt?
  2. Gibt es eine getrennte Testumgebung sowie ein verwendbares Backup von Dateien und Daten?
  3. Welche PHP-Versionen, Extensions und Konfigurationen bietet der Server an?
  4. Welche Abläufe müssen gemeinsam geprüft werden, bevor umgestellt wird?
  5. Wie werden Fehler nach der Umstellung erkannt und wie funktioniert ein Rückfall?

Die Startseite allein ist kein ausreichender Funktionstest. Ein Export, ein Cronjob oder ein selten genutztes Formular kann andere Codepfade ausführen.

Ein reales Beispiel: von PHP 5.6 auf PHP 8.4

Bei einer individuell entwickelten Website ohne Framework habe ich den vorhandenen Code angepasst. Sie läuft nun auf PHP 8.4, ohne kompletten Rewrite. Zum anonymisierten Praxisbericht.

Das Ergebnis dieses Projekts ist keine Aufwandsschätzung für andere Anwendungen. Für deine Codebasis beginnt es mit einer konkreten Bestandsaufnahme. Leistung und Ablauf des PHP-Upgrades.

FAQ

Kann die Datenbank erhalten bleiben?

Das ist möglich. PHP-Code, Datenbanktreiber und Datenbankserver sind getrennt zu betrachten. Ob Änderungen nötig sind, ergibt sich aus Versionen und verwendeten Funktionen.

Muss ich erst alle Anforderungen neu dokumentieren?

Nein. Für den Einstieg reichen die verfügbaren Systeminformationen. Die wichtigen Geschäftsabläufe klären wir im Rahmen der Analyse und Testplanung.

Deine PHP-Anwendung: Was steht an?

PHP-Version, Hosting und eine vorhandene Fehlermeldung reichen für den ersten Kontakt häufig bereits aus.

Hilfreich sind außerdem die verfügbare Zielversion und eine kurze Beschreibung der Anwendung. Ein vollständiges Lastenheft brauchst du für den ersten Kontakt nicht.