PHP Upgrade & Legacy Software
Alte PHP-Anwendung auf eine aktuelle PHP-Version bringen
Ich aktualisiere bestehende Websites und Individualsoftware von PHP 5.6, PHP 7.x oder älteren Umgebungen auf eine aktuell unterstützte PHP-Version – auch ohne Framework und ohne unnötigen Komplett-Neubau.
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
- PHP 5.6 / 7.x
- Analysieren
- Anpassen
- Testen
- PHP 8.x
Kommt dir eine dieser Situationen bekannt vor?
Der Hoster stellt die PHP-Version ab
PHP 5.6 oder PHP 7.x ist nicht mehr verfügbar. Die Anwendung muss auf die neue Umgebung vorbereitet werden. PHP 5.6 auf PHP 8 und PHP 7.4 auf PHP 8 haben unterschiedliche Ausgangspunkte.
Nach dem Update geht nichts mehr
HTTP 500, Fatal Error oder eine weiße Seite? Auch ausgefallene Logins und Formulare sind ein Anlass, die Ursache gezielt zu prüfen. Hilfe nach einem PHP-Update.
Der ursprüngliche Entwickler fehlt
Die selbst geschriebene Website läuft seit Jahren, aber niemand kennt den Code. Auch fremde, historisch gewachsene PHP-Codebasen kann ich übernehmen. Alte Bibliotheken und Composer-Abhängigkeiten gehören zur Bestandsaufnahme.
Neue Funktionen stehen an
Die Anwendung erfüllt ihren Zweck, doch ein altes Framework oder die Laufzeit blockiert Änderungen. Erst wieder zuverlässig lauffähig machen, dann sinnvoll weiterentwickeln.
Kein Framework? Kein Problem.
Viele ältere Anwendungen bestehen aus einzelnen PHP-Dateien, Includes, eigener Datenbanklogik, Formularen, Sessions, Cronjobs und individueller Geschäftslogik. Vanilla PHP, prozedurales PHP und Eigenentwicklungen sind ausdrücklich willkommen.
Eine Anwendung muss nicht erst auf Symfony oder Laravel migriert werden, bevor sie aktualisiert werden kann. Wenn sie ohne Framework sinnvoll wartbar bleibt, darf das so bleiben. PHP-Anwendungen ohne Framework modernisieren.
Ein Framework ist bereits vorhanden?
Symfony
Bei älteren Symfony-Anwendungen prüfe ich Laufzeit, Komponenten und Abhängigkeiten gemeinsam. Symfony ist eine Kompetenz und mögliche Zielarchitektur, keine Voraussetzung für jedes Projekt.
Laravel und CakePHP
Ob das vorhandene Framework aktualisiert werden kann, entscheidet die Analyse der Version und der eingesetzten Pakete. Ein Wechsel zu Symfony ist nicht automatisch nötig.
Zend Framework, Yii, Slim und weitere
Auch hier beginnt die Arbeit mit einer Prüfung des konkreten Bestands. Ich verspreche keinen direkten Update-Pfad für jede Version. Framework-Update planen.
Upgrade statt Rewrite: Was ist wirtschaftlich sinnvoll?
Gezieltes Upgrade
Funktionierende Geschäftslogik bleibt erhalten. Zunächst werden die technisch notwendigen Stellen und Abhängigkeiten angepasst. Bestehende Geschäftslogik ist häufig wertvoller als ein technisch schöner Rewrite.
Kompletter Rewrite
Ein Neubau kann sinnvoll sein, etwa wenn Anforderungen und vorhandene Struktur nicht mehr zusammenpassen. Er schafft aber eine größere Testfläche und kann mehr Aufwand und Umstellungsrisiko bedeuten. Ich entscheide nach Wartbarkeit, Risiko und wirtschaftlichem Nutzen, nicht nach einer bevorzugten Technologie.
Aus der Praxis: PHP 5.6 → PHP 8.4 ohne kompletten Neubau
Eine vor vielen Jahren individuell entwickelte Website bestand aus vielen einzelnen PHP-Dateien und nutzte kein Framework – weder Symfony noch Laravel. Ich habe den bestehenden Code auf PHP 8.4 angepasst.
- Die bestehende Anwendung bleibt erhalten und läuft auf PHP 8.4.
- Ein kompletter Rewrite war nicht notwendig.
- Die Anwendung kann anschließend weiterentwickelt werden.
Case Study ansehen: individuelle PHP-Website von 5.6 auf 8.4.
So läuft ein PHP-Upgrade ab
- Ersteinschätzung: Welche Version läuft, was ist das Problem und welches Ziel gibt das Hosting vor?
- Code- und Systemanalyse: Geschäftsabläufe, Codebasis und Umgebung verstehen; den Umfang abgrenzen.
- PHP-Kompatibilität herstellen: Inkompatiblen Code gezielt anpassen.
- Abhängigkeiten anpassen: Benötigte Bibliotheken, Extensions und gegebenenfalls das Framework aktualisieren oder ersetzen.
- Testen: Relevante Abläufe mit dir festlegen und auf der Zielumgebung prüfen.
- Produktiv umstellen: Backup, Umstellungsfenster und Rückfallplan abstimmen; anschließend Logs und wichtige Funktionen kontrollieren.
- Optional weiterentwickeln: Neue Anforderungen getrennt priorisieren und umsetzen.
Was wird geprüft?
Je nach Anwendung vereinbaren wir den passenden Prüfumfang. Nicht jedes Projekt enthält alle diese Bereiche.
Code und Laufzeit
Entfernte PHP-Funktionen, Breaking Changes, Composer-Abhängigkeiten, manuell eingebundene Libraries, PHP Extensions, Dateisystem und Error Handling.
Daten und Benutzerabläufe
MySQL-/MariaDB-Zugriffe, Sessions, Cookies, Authentication, Formulare und Mailversand. Entscheidend ist, ob die genutzten Geschäftsabläufe weiter funktionieren.
Betrieb und Schnittstellen
Cronjobs, APIs, externe Schnittstellen, Logging sowie Webserver- und Hosting-Besonderheiten. CLI und Webserver können unterschiedliche PHP-Konfigurationen verwenden.
Nach dem Upgrade weiterentwickeln
Wenn die technische Basis wieder passt, können neue Features folgen: APIs, ERP-/CRM-Anbindungen, Automatisierungen, Exporte und Importe, Administrationsfunktionen, Performance- und Sicherheitsverbesserungen oder ein moderneres Frontend. Auch Shopware-Anbindungen und weitere E-Commerce-Funktionen sind möglich.
Für größere Architekturarbeit gibt es die Legacy-PHP-Modernisierung. Weitere Leistungen: APIs und Schnittstellen, individuelle Software, Shopware-Entwicklung und der PHP-Freelancer-Überblick.
FAQ
Kann eine PHP-5.6-Anwendung noch auf PHP 8 aktualisiert werden?
Ja, das kann möglich sein. Code, Bibliotheken und Hosting entscheiden über den Aufwand. Ein direkter Wechsel der Produktivumgebung kann gelingen, auch wenn bei der Anpassung Änderungen mehrerer PHP-Versionen berücksichtigt werden müssen.
Muss meine alte PHP-Anwendung komplett neu geschrieben werden?
Nein. Zuerst prüfe ich, was tatsächlich geändert werden muss. Ein Neubau ist eine mögliche Entscheidung nach der Analyse, kein Ausgangspunkt.
Kannst du PHP-Code übernehmen, den du nicht selbst entwickelt hast?
Ja. Ich arbeite mich in fremden Code ein und kläre mit dir, welche Abläufe erhalten bleiben müssen und welche Zugänge und Informationen verfügbar sind.
Was ist, wenn die Anwendung kein Framework verwendet?
Auch dann ist ein Upgrade möglich. Einzelne Dateien, Includes und eigene Datenbanklogik sind kein Grund, automatisch Symfony oder Laravel einzuführen.
Muss eine alte Laravel- oder CakePHP-Anwendung zu Symfony migriert werden?
Nein, nicht automatisch. Ein Update des vorhandenen Frameworks kann sinnvoller sein. Eine Migration auf Symfony ist eine Option, keine Voraussetzung.
Was brauchst du für eine erste Einschätzung?
Aktuelle PHP-Version, verfügbare Zielversion, Hosting oder Server, eine kurze Beschreibung und gegebenenfalls eine Fehlermeldung. Wenn du etwas davon nicht weißt, beschreibe zunächst das sichtbare Problem.
Kannst du die Anwendung nach dem Upgrade weiterentwickeln?
Ja. Neue Funktionen, Schnittstellen und Verbesserungen können auf dem bestehenden Code aufbauen. Den Umfang stimmen wir separat ab.
Funktioniert ein PHP-Upgrade auch bei sehr alten Eigenentwicklungen?
Es kann funktionieren, wie die Fallstudie von PHP 5.6 auf 8.4 zeigt. Das ist kein Versprechen für jede Codebasis: fehlende Bibliotheken oder nicht mehr verfügbare Komponenten können den Aufwand verändern.
Kann zunächst nur das PHP-Upgrade gemacht werden?
Ja. Wir können den Auftrag auf die Lauffähigkeit unter einer unterstützten PHP-Version begrenzen. Größere Modernisierung wird anschließend getrennt entschieden.
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.