PHP-Wartung: Sicherheitsupdates, Versionswechsel und langfristiger Betrieb

PHP-Anwendungen brauchen kontinuierliche Pflege -- nicht weil sie fragil sind, sondern weil sich Sicherheitslandschaft, Abhängigkeiten und Performance-Anforderungen permanent verändern. Dieser Leitfaden beschreibt, welche Wartungsaufgaben für PHP-Projekte anfallen, wie Versionswechsel geplant werden und warum ein strukturierter Wartungsvertrag bares Geld spart.

Warum PHP-Anwendungen kontinuierliche Wartung brauchen

Eine PHP-Anwendung, die heute stabil läuft, kann in zwölf Monaten ein Sicherheitsrisiko darstellen — nicht durch eigene Fehler, sondern durch das Zusammenspiel externer Faktoren:

PHP-Runtime-Updates: Die PHP-Community veröffentlicht regelmäßig Minor- und Patch-Releases mit Bugfixes und Sicherheits-Patches. Jede PHP-Version durchläuft einen definierten Lebenszyklus: zwei Jahre Active Support (neue Features und Bugfixes), gefolgt von einem Jahr Security-Only-Support. Danach: End of Life. Keine Patches mehr, auch nicht für kritische Sicherheitslücken.

Dependency-Updates: Eine durchschnittliche PHP-Anwendung verwaltet über Composer 40-80 direkte Abhängigkeiten, die ihrerseits transitive Abhängigkeiten mitbringen. Jede dieser Bibliotheken hat eigene Release-Zyklen und potenzielle Schwachstellen. Das CVE-Volumen für PHP-Pakete ist in den letzten drei Jahren um rund 35 % gestiegen.

Framework-Releases: Laravel veröffentlicht jährlich ein neues Major-Release, Symfony alle zwei Jahre. Jedes Release bringt Deprecations, Breaking Changes und neue Best Practices. Wer zwei oder drei Major-Versionen überspringt, steht vor einem Migrationsprojekt statt einer inkrementellen Aktualisierung.

Infrastruktur-Änderungen: Betriebssystem-Updates, Datenbank-Upgrades (MySQL 8.0 auf 8.4, MariaDB 10.x auf 11.x), Webserver-Konfigurationen (nginx, Apache), Container-Base-Images — all das beeinflusst die Laufzeitumgebung einer PHP-Anwendung und erfordert Kompatibilitätstests.

Browser- und Client-Änderungen: Auch die Gegenseite verändert sich. Neue Browser-Security-Policies (CSP, CORS-Verschärfungen), Cookie-Restriktionen (SameSite-Attribute, Third-Party-Cookie-Deprecation) und TLS-Anforderungen können serverseitige Anpassungen in der PHP-Anwendung erforderlich machen.

All diese Faktoren wirken nicht isoliert, sondern kumulativ. Eine Anwendung, die ein Jahr lang nicht gewartet wird, hat nicht ein Update-Problem — sie hat dutzende, die sich gegenseitig bedingen.

Dieser Artikel ist Teil des Pillar-Clusters zur PHP-Entwicklung und ergänzt den Leitfaden zur Legacy-Modernisierung, der sich mit der Frage beschäftigt, wann Wartung allein nicht mehr ausreicht.

PHP-Versionswechsel — Risiken und Planung

Aktueller Release-Kalender

PHP-VersionActive Support bisSecurity Support bisStatus (Stand Feb 2026)
PHP 8.1Dez 2023Dez 2025End of Life
PHP 8.2Dez 2024Dez 2026Nur Security-Fixes
PHP 8.3Dez 2025Dez 2027Nur Security-Fixes
PHP 8.4Dez 2026Dez 2028Active Support

Anwendungen, die noch auf PHP 8.1 oder älter laufen, erhalten keine Sicherheitsupdates mehr. Hier besteht unmittelbarer Handlungsbedarf.

Typische Breaking Changes bei Major-Updates

Der Wechsel von PHP 7.x auf 8.x war der gravierendste Umbruch seit PHP 5 auf 7. Die häufigsten Stolpersteine:

Migrations-Checkliste

  1. Kompatibilitätsanalyse: PHPCompatibility (PHP-CS-Fixer-Ruleset) identifiziert Code, der mit der Zielversion inkompatibel ist.
  2. Dependency-Check: composer outdated und Packagist-Kompatibilitätsinformationen prüfen, ob alle Pakete die Zielversion unterstützen.
  3. Test-Suite ausführen: Automatisierte Tests unter der neuen PHP-Version in einer isolierten CI-Pipeline laufen lassen.
  4. Staging-Deployment: Die Anwendung auf einem Staging-Server mit der neuen PHP-Version betreiben und manuelle Regressionstests durchführen.
  5. Performance-Vergleich: Benchmarks vor und nach dem Wechsel, um Performance-Regressionen oder -Verbesserungen zu dokumentieren.
  6. Rollback-Plan: Ein dokumentierter Rollback-Pfad für den Fall, dass nach dem Go-Live Probleme auftreten.

Kosten einer versäumten Migration

Ein konkretes Rechenbeispiel: Eine Anwendung auf PHP 7.4 (EOL seit November 2022) muss auf PHP 8.3 migriert werden. Dabei fallen typischerweise an:

Gesamtaufwand: 50-150 Stunden — je nach Codebasis-Größe und Testabdeckung. Hätte die Migration schrittweise stattgefunden (PHP 7.4 auf 8.0 auf 8.1 auf 8.2 auf 8.3), wäre jeder einzelne Schritt deutlich kleiner und risikoärmer gewesen. Versäumte Wartung akkumuliert nicht linear, sondern exponentiell.

Sicherheitsupdates und Dependency Management

Composer als zentrale Schaltstelle

Composer ist der Paketmanager des PHP-Ökosystems und damit die zentrale Schaltstelle für Dependency Management. Zwei Dateien steuern die Abhängigkeiten:

Ein composer update ohne Strategie kann die gesamte Anwendung destabilisieren. Professionelle Wartung setzt auf kontrollierte Updates:

  1. Sicherheitsupdates isoliert einspielen: composer update --with-dependencies paket/name statt ein globales Update.
  2. Security-Advisories überwachen: Tools wie composer audit (ab Composer 2.4) oder Roave Security Advisories prüfen automatisch auf bekannte CVEs.
  3. Automatisierte Checks: CI/CD-Pipelines können bei jedem Build composer audit ausführen und den Build bei kritischen Schwachstellen abbrechen.

CVE-Monitoring in der Praxis

Ein sinnvoller Workflow für Sicherheitsüberwachung:

Performance-Monitoring und Optimierung

PHP-Anwendungen können über die Zeit an Performance verlieren — nicht durch Sprachdefizite, sondern durch wachsende Daten, suboptimale Queries und veraltete Konfigurationen. Systematisches Monitoring identifiziert Engpässe, bevor Endnutzer sie bemerken.

OPcache-Konfiguration

OPcache kompiliert PHP-Skripte in Bytecode und hält diesen im Shared Memory. Die Standardkonfiguration ist für die meisten Produktionsumgebungen nicht optimal:

Datenbank-Query-Optimierung

Die häufigsten Performance-Probleme in PHP-Anwendungen liegen nicht im PHP-Code, sondern in der Datenbank:

Profiling-Tools

Caching-Strategien

Redis oder Memcached als Caching-Layer reduzieren die Datenbankbelastung drastisch. Die häufigsten Caching-Patterns für PHP-Anwendungen:

Die richtige Caching-Strategie hängt vom Anwendungsprofil ab und sollte regelmäßig überprüft werden — insbesondere nach größeren Feature-Änderungen oder Datenwachstum.

Framework-spezifische Wartung

Jedes PHP-Framework bringt eigene Wartungsanforderungen mit:

Laravel

Laravel folgt einem jährlichen Major-Release-Zyklus (Laravel 9: Feb 2022, Laravel 10: Feb 2023, Laravel 11: März 2024, Laravel 12: 2025). Jede Version erhält 18 Monate Bug-Fix-Support und 2 Jahre Security-Support. Laravel Shift bietet automatisierte Upgrade-Tools, die den Großteil der Änderungen automatisch durchführen.

Ausführlicher behandelt auf der geplanten Unterseite Laravel-Wartung.

Symfony

Symfony veröffentlicht alle zwei Jahre eine LTS-Version (Symfony 5.4 LTS, 6.4 LTS, 7.4 LTS). LTS-Releases erhalten 3 Jahre Bug-Fixes und 4 Jahre Security-Updates. Der Symfony Deprecation Detector hilft, Code frühzeitig auf kommende Änderungen vorzubereiten. Symfonys Backward-Compatibility-Promise garantiert, dass Minor-Upgrades innerhalb eines Major-Release keine Breaking Changes einführen.

Details finden sich auf der geplanten Unterseite Symfony-Wartung.

TYPO3

TYPO3 folgt einem halbjährlichen Release-Zyklus mit Sprint-Releases und LTS-Versionen (aktuell TYPO3 v13 LTS). LTS-Releases erhalten drei Jahre Community-Support und optionalen Extended LTS-Support durch die TYPO3 GmbH. TYPO3-Wartung umfasst neben Core-Updates auch Extension-Updates und Content-Security-Patches.

Weitere Informationen stehen auf der geplanten Unterseite TYPO3-Wartung.

Wartungsverträge für PHP-Projekte bei TenMedia

Professionelle PHP-Wartung ist kein Luxus, sondern eine Investition in Betriebssicherheit und Werterhalt. TenMedia bietet strukturierte Wartungsverträge mit klar definierten Leistungspaketen:

Leistungsumfang

Vertragsmodelle

Wartungsverträge starten ab 900 EUR monatlich mit einem 8-Stunden-Kontingent. Das Kontingent umfasst alle genannten Wartungsaufgaben sowie kleinere Anpassungen und Bugfixes. Größere Erweiterungen oder Migrationen werden separat geschätzt.

Für Unternehmen mit kritischen Systemen stehen erweiterte Pakete mit 24/7-Erreichbarkeit, garantierten Reaktionszeiten unter 4 Stunden und dediziertem Ansprechpartner zur Verfügung.

Warum ein Wartungsvertrag wirtschaftlich sinnvoll ist

Die Alternative zu einem Wartungsvertrag ist reaktive Wartung: Probleme werden erst behoben, wenn sie auftreten. Das führt in der Praxis zu höheren Kosten, weil Notfalleinsätze teurer sind als geplante Wartung, Sicherheitslücken länger bestehen und sich zu größeren Schäden entwickeln können, PHP-Versionswechsel als Grossprojekt statt als inkrementelle Aufgabe anfallen und technische Schulden über Jahre akkumulieren. Die Erfahrung aus über 14 Jahren PHP-Entwicklung zeigt: Regelmäßige, geplante Wartung kostet einen Bruchteil dessen, was eine vernachlässigte Anwendung an Notfallmaßnahmen und Opportunity-Kosten verursacht.

Weiterführende Informationen