PHP 7.4 · Ohne Sicherheitsupdates seit 28.11.2022

PHP 7.4: seit November 2022 ohne Sicherheitsupdates. Was ein Upgrade auf PHP 8 bricht und wie es abläuft

PHP 7.4 ist die letzte Version der 7er-Reihe und die am weitesten verbreitete Altversion. Seit dem 28. November 2022 gibt es keine Sicherheitsupdates mehr, Hoster schalten sie ab. Was beim Upgrade auf PHP 8.4 bricht, warum der Sprung von 7.4 gut planbar ist und was er kostet.

Erschienen
28.11.2019
Aktiver Support bis
28.11.2021
Sicherheitsupdates bis
28.11.2022
Letztes Release
7.4.33
Empfohlenes Ziel
PHP 8.4

Termine: php.net, Supported Versions.

PHP 7.4 erschien im November 2019 und ist die letzte Version der 7er-Reihe. Seit dem 28. November 2022 gibt es keine Sicherheitsupdates mehr; das letzte Release war 7.4.33. Es ist die am weitesten verbreitete Altversion: Die meisten Anfragen, die uns mit einer Hoster-Frist erreichen, betreffen 7.4.

Wo PHP 7.4 heute steht

Vier Jahre ohne Pflege. Alle seit Ende 2022 gefundenen Lücken im Interpreter sind offen, einschließlich der beiden kritischen vom 21. Oktober 2026 (Codeausführung ohne Anmeldung), die das PHP-Projekt nur für 8.2 bis 8.5 geschlossen hat. Einige Distributionen und kommerzielle Anbieter liefern Backports für 7.4; wer darauf setzt, muss das pro Server nachweisen können.

Die Hoster haben reagiert: 7.4 wird abgeschaltet, auf eine neuere Version zwangsumgestellt oder nur noch gegen Aufschlag angeboten. Die Mail dazu kommt mit Frist, oft an die Rechnungsadresse. Was dann in welcher Reihenfolge zu tun ist, steht auf der Seite zur Hoster-Frist. Warum das Support-Ende mehr als ein Hosting-Thema ist, im Beitrag zum 7.4-EOL.

Typische Stacks: Laravel 8, Symfony 5.x, TYPO3 10 und 11, Shopware 5.7, Magento 2.4, WordPress und Drupal 9 mit alten Plugins, viele Composer-basierte Eigenentwicklungen.

Was beim Upgrade von 7.4 auf PHP 8 bricht

Von 7.4 aus ist der Sprung technisch der kleinste unter den 7er-Versionen, aber die Brüche von 8.0 sind alle noch vor Ihnen:

  • Vergleiche zwischen Text und Zahl. 0 == "abc" ist seit 8.0 falsch. Prüfungen auf leere Eingaben, switch-Blöcke mit gemischten Typen und in_array() ohne strikten Modus verhalten sich anders, ohne Fehlermeldung.
  • Fehler statt Warnungen. Interne Funktionen werfen TypeError oder ValueError, wo 7.4 eine Warnung ins Log schrieb. Das trifft count(), strlen(), array_*-Funktionen mit falschen Typen.
  • PDO meldet Fehler seit 8.0 als Ausnahme, mysqli seit 8.1. Code, der Rückgabewerte auf false prüft, bekommt unbehandelte Ausnahmen.
  • Verschachtelte Ternär-Operatoren ohne Klammern sind ein Fehler, match ist reserviert, Ressourcen sind Objekte.
  • null an interne Funktionen ist seit 8.1 veraltet: trim(null), strlen(null), htmlspecialchars(null). In Formular- und Template-Code hundertfach.
  • Dynamische Eigenschaften seit 8.2, ${var}-Interpolation seit 8.2, utf8_encode/utf8_decode seit 8.2, implizit nullbare Parameter (Type $x = null) seit 8.4. Noch Hinweise, in einer kommenden Version Fehler.
  • Bibliotheken: Guzzle 6, PHPUnit 8 und 9.0, Monolog 1, Carbon 1, alte Doctrine-Versionen. Fast immer gibt es ein Update, selten einen Ersatz.

Die vollständige Liste steht unter PHP 8 Breaking Changes. Was sich zwischen 8.0, 8.1, 8.2 und 8.3 jeweils geändert hat, im Vergleichsbeitrag.

Der Weg von 7.4 auf PHP 8.4

  1. Befund auf einer Kopie: composer install unter 8.4, PHPStan, Testsuite. Zwei bis drei Werktage, Ergebnis ist die Liste der Arbeit und der Festpreis.
  2. Sicherheitsnetz, soweit Tests fehlen: um Bestellung, Abrechnung, Import, Login.
  3. Abhängigkeiten aktualisieren, Blocker ersetzen.
  4. Rector für das Mechanische, Handarbeit für Typ-Vergleiche, Datenbank-Fehlerbehandlung, null-Fälle.
  5. Umschalten in einer Randzeit, mit Rückweg. Die Umschaltung selbst ist ein Versionswechsel am Server, bei Bedarf in Minuten rückgängig.

Je nach Größe zwei bis sechs Wochen, parallel zum Betrieb. Woran die Dauer hängt, welche Risiken auftreten und wie ein Rückweg aussieht, beschreiben eigene Beiträge.

Für wen das nicht passt

Eine Anwendung, die weniger wert ist als die Migration, bekommt im kostenlosen Kurz-Check genau diese Auskunft. Dann geht es um einen abgesicherten Weiterbetrieb bis zur Ablösung, nicht um ein Upgrade.

Kosten

Die Pakete für den Weg von PHP 7.4 auf PHP 8.4

Ab-Preise netto. Verbindlich wird es mit dem Festpreis nach dem Befund, und der Befund wird auf jedes Folgepaket angerechnet.

PaketPreisDauerFür wen
BefundAnalyse Preisab 2.980 € Dauer2–3 Werktage Sie brauchen eine belastbare Grundlage für eine Entscheidung oder ein Budget – keine Schätzung aus dem Bauch.
Minimal-MigrationUmsetzung · das Nötigste Preisab 9.800 € Dauer2–6 Wochen Ihr Hoster schaltet PHP 7 ab, ein Audit verlangt eine unterstützte Version – und Sie brauchen das schnell, nicht schön.

Fragen

Was zu PHP 7.4 meistens gefragt wird

Mein Hoster hat eine Frist für PHP 7.4 gesetzt. Was ist in den nächsten vier Wochen zu tun?

Erst die Frist beim Hoster verlängern lassen, das klappt fast immer, wenn ein Projekt läuft. Dann auf einer Kopie PHP 8.4 einschalten und die Fehler einsammeln: Das ist der Befund. Danach entscheiden, ob die Anwendung die Migration wert ist. Die Reihenfolge und die Optionen stehen auf der Situationsseite zur Hoster-Frist.

Soll ich auf PHP 8.2 oder gleich auf 8.4?

Auf 8.4. PHP 8.2 bekommt nur noch bis zum 31. Dezember 2026 Sicherheitsupdates, 8.3 bis Ende 2027. Wer heute migriert und in einem Jahr nicht wieder vor derselben Frist stehen will, zielt auf 8.4 oder 8.5. Wo eine Abhängigkeit das verhindert, steht das im Befund mit Begründung.

Wie weise ich nach dem Upgrade nach, dass die Anwendung abgesichert ist?

Mit der tatsächlich laufenden Version im Web-Kontext (nicht der CLI-Version), dem Datum des letzten Patch-Releases und dem Nachweis, dass der Hoster oder Ihr Team Patches einspielt. Wie ein belastbarer Nachweis aussieht, steht im Beitrag zum PHP-Patch-Nachweis.

Nächster Schritt: Minimal-Migration (ab 9.800 €)

Drei kurze Schritte im Formular, dann melden wir uns innerhalb eines Werktags. Wer noch nicht so weit ist, nimmt den kostenlosen Kurz-Check.

Minimal-Migration anfragen