Kurz gesagt: Alte PHP-Versionen deaktivieren Sie am sichersten in drei Phasen: Nutzung ermitteln, Version sperren und beobachten, erst dann deinstallieren. In Plesk lässt sich ein Handler zunächst deaktivieren, sodass er nicht mehr gewählt werden kann, und später unter Updates und Komponenten entfernen. Jede entfernte Version ist eine weniger, die Sie bei der nächsten Lücke wie PHP2Shell patchen und neu starten müssen.
Warum gerade jetzt aufräumen?
Die Woche nach PHP2Shell hat vielen Admins gezeigt, wie viele PHP-Versionen auf ihren Servern installiert sind. Jede davon musste geprüft werden, jede brauchte ein Update oder Übergangsmaßnahmen, jeder Dienst einen Neustart. Für PHP 8.1 und älter gibt es nur minimale Quell-Backports, für PHP 8.2 endet die Unterstützung am 31.12.2026.
Mit dieser Erfahrung frisch im Gedächtnis ist der richtige Moment, um aufzuräumen. Wie Sie überhaupt alle Installationen finden, beschreibt der Beitrag Mehrere PHP-Versionen auf einem Server. Hier geht es um den nächsten Schritt: das kontrollierte Abschalten.
Phase 1: Nutzung ermitteln
Bevor Sie etwas abschalten, müssen Sie wissen, wer eine Version nutzt. Websites sind der offensichtliche Teil. Weniger sichtbar sind Subdomains, Testinstallationen, Cronjobs, Skripte und Panel-Komponenten.
In Plesk listet der Befehl plesk bin php_handler --list alle registrierten Handler. Mit --get-usage zeigt Plesk laut Dokumentation, welche Domains einen bestimmten Handler verwenden. Beide Befehle verändern nichts.
# Plesk: alle Handler und die Domains, die einen Handler nutzen
plesk bin php_handler --list
plesk bin php_handler --get-usage -id <handler-id>
# Allgemein: Cronjobs, die eine bestimmte PHP-Version aufrufen
grep -rE "php(7|8\.0|8\.1)" /etc/crontab /etc/cron.d /var/spool/cron 2>/dev/null
Prüfen Sie zusätzlich die Zugriffslogs der betroffenen Websites: Eine Testinstallation, die seit Monaten keine Anfrage erhalten hat, ist ein Kandidat zum Entfernen, nicht zum Migrieren. Notieren Sie für jede alte Version, wer sie nutzt und warum.
Fragen Sie außerdem bei den Menschen nach, die mit den Websites arbeiten. Redaktionen, Agenturen und Fachabteilungen kennen oft Abläufe, die in keiner Liste stehen: den jährlichen Export für die Buchhaltung, das Formular für eine Messe, die Schnittstelle zum Warenwirtschaftssystem. Was dort an einer alten Version hängt, fällt sonst erst auf, wenn es fehlt.
Phase 2: Sperren und beobachten
Der Zwischenschritt verhindert, dass eine Version neu zugewiesen wird, ohne sie sofort zu löschen. In Plesk gibt es dafür die Möglichkeit, einzelne Handler zu deaktivieren. Laut Plesk-Dokumentation kann ein deaktivierter Handler in den PHP-Einstellungen einer Website nicht mehr ausgewählt werden; die Version bleibt installiert. Auf der Kommandozeile geschieht das mit plesk bin php_handler --disable -id <handler-id>.
Domains, die die alte Version noch nutzen, stellen Sie vorher in Abstimmung mit den Verantwortlichen auf eine unterstützte Version um. Wie das aus Sicht des Website-Betreibers aussieht, beschreibt der Beitrag PHP-Version im Hosting-Kundenbereich ändern. Die Wahl des passenden Handlers erklärt der Beitrag Plesk: PHP-Handler verstehen.
Während der Beobachtungszeit achten Sie auf Fehlermeldungen in den Logs, ausbleibende Cronjob-Ergebnisse und Rückmeldungen der Nutzer. In anderen Panels heißen die Funktionen anders; prüfen Sie dort die Herstellerdokumentation.
Legen Sie das Ende der Beobachtungszeit als Termin fest und benennen Sie, wer danach die Deinstallation freigibt. Sonst wird aus dem Zwischenschritt ein Dauerzustand, und die alte Version bleibt doch auf dem Server.
Phase 3: Deinstallieren
Erst wenn die Beobachtungszeit ohne Auffälligkeiten vergangen ist, entfernen Sie die Version vollständig. In Plesk geschieht das laut Dokumentation unter Tools & Settings, Updates, Add/Remove Components, im Bereich Web hosting bei den PHP-Interpreter-Versionen. Installierte Versionen sind dort markiert und lassen sich zum Entfernen auswählen.
Auf Servern ohne Panel übernimmt die Paketverwaltung diese Aufgabe. Sichern Sie vorher die Konfiguration der Version, etwa /etc/php/7.4/ unter Debian und Ubuntu, damit Sie im Notfall nachvollziehen können, welche Einstellungen galten.
# Konfiguration sichern, dann Pakete eines Zweigs entfernen (Beispiel Debian/Ubuntu, PHP 7.4)
tar czf /root/php74-konfiguration.tar.gz /etc/php/7.4/
apt remove 'php7.4*'
Nach dem Entfernen lohnt eine Kontrolle. In Plesk empfiehlt die Dokumentation plesk bin php_handler --reread, um Handler-Informationen nach Änderungen an PHP-Binaries neu einzulesen. Prüfen Sie außerdem, ob Servicepläne noch auf die entfernte Version verweisen.
Typische Stolpersteine
| Stolperstein | Woran Sie ihn erkennen | Was hilft |
|---|---|---|
| Panel-Komponente hängt an der Version | Das Panel meldet eine Abhängigkeit beim Entfernen | Komponente zuerst umstellen oder Version behalten |
| Serviceplan verweist auf alte Version | Neue Websites erhalten die alte Version oder Fehlermeldung | Plan anpassen, dann Version entfernen |
| Cronjob ruft festen Pfad auf | Skript schlägt nach Entfernen fehl | Pfad auf unterstützte Version ändern |
| Anwendung läuft nicht auf neuer Version | Fehler nach Umstellung im Fehlerlog | Anwendung aktualisieren oder migrieren |
Lässt sich eine Anwendung nicht auf eine unterstützte Version heben, ist das Abschalten der alten Version kein Konfigurationsthema mehr, sondern ein Migrationsprojekt. Die Risiken veralteter Zweige beschreibt der Ratgeber PHP-End-of-Life: Risiken veralteter Versionen.
Der nächste Kandidat steht schon fest
Aufräumen ist keine einmalige Aktion. Schon am 31.12.2026 fällt PHP 8.2 aus der Unterstützung des PHP-Projekts. Wer jetzt Versionen bis 8.1 entfernt, sollte im selben Zug festlegen, wie es mit 8.2 weitergeht. Sonst beginnt das gleiche Spiel in wenigen Wochen von vorn.
Bewährt hat sich eine einfache Regel für den Server: Angeboten werden nur Zweige, die das PHP-Projekt unterstützt. Jeder Zweig erhält beim Einrichten ein Datum, an dem er wieder geprüft wird, orientiert am Supportende auf php.net. Hintergründe zu diesem Zyklus erklärt die Seite PHP-Versionen und Release-Zyklus.
Wer als Hoster oder Agentur Kunden auf dem Server hat, sollte diese früh informieren. Eine Ankündigung mit Datum, die Bitte um Umstellung und ein Angebot zur Unterstützung vermeiden, dass am Stichtag Websites ausfallen. Kunden, deren Anwendung nicht mitzieht, erkennen so rechtzeitig, dass ein Update oder eine Migration ansteht, und können dafür planen.
Wie hilft PHP SOS konkret?
- Wir ermitteln, welche Websites, Cronjobs und Panel-Komponenten welche PHP-Version nutzen.
- Wir stellen Domains in Abstimmung auf unterstützte Versionen um und sperren alte Handler.
- Nach der Beobachtungszeit entfernen wir alte Versionen kontrolliert und prüfen das Ergebnis.
- Wo Anwendungen nicht mitziehen, planen wir die Migration von PHP 8.1 und älter.
Häufige Fragen
Warum sollte ich ungenutzte PHP-Versionen entfernen?
Jede installierte Version muss bei jeder Lücke geprüft, aktualisiert und neu gestartet werden. Alte Zweige wie PHP 8.1 und älter erhalten vom PHP-Projekt keine Updates mehr. Ungenutzte Versionen bringen nur Risiko und Aufwand.
Was ist der Unterschied zwischen Deaktivieren und Deinstallieren?
Beim Deaktivieren bleibt die Version installiert, kann aber nicht mehr neu ausgewählt werden. Beim Deinstallieren wird sie vom Server entfernt. Deaktivieren ist der sichere Zwischenschritt, um zu sehen, ob etwas fehlt.
Kann das Entfernen einer PHP-Version Panel-Funktionen stören?
Ja. Manche Komponenten eines Panels, etwa Webmail oder Verwaltungswerkzeuge, hängen an einer bestimmten PHP-Version. Klären Sie solche Abhängigkeiten vor dem Entfernen, das Panel weist in der Regel darauf hin.
Wie lange sollte die Beobachtungszeit dauern?
So lange, dass alle regelmäßigen Abläufe mindestens einmal gelaufen sind, also auch monatliche Cronjobs und Exporte. Legen Sie die Dauer mit den Fachabteilungen fest.