PHP-Update

PHP aktualisieren.
Bevor der Hoster es erzwingt.

Für PHP 8.2 enden die Sicherheitsupdates am 31. Dezember 2026, für ältere Versionen sind sie bereits ausgelaufen. Ich prüfe Ihren Code, passe ihn an eine aktuelle PHP-Version an und behebe die Fehler, die nach einem Wechsel auftauchen.

PHP-Update besprechen

Stefan Pilz · über 15 Jahre PHP-Entwicklung · 100 % remote

IllustrationBestehenden Code erhalten, Laufzeit erneuern.

LEISTUNG IM ÜBERBLICK

Warum ein PHP-Update jetzt ansteht

Ein PHP-Update bedeutet, Ihre Website oder Anwendung so anzupassen, dass sie auf einer aktuellen PHP-Version fehlerfrei läuft. Ich prüfe den vorhandenen Code und die eingesetzten Bibliotheken, behebe Inkompatibilitäten und teste die wichtigsten Abläufe, bevor die neue Version live geht.

Erhält eine PHP-Version keine Sicherheitsupdates mehr, werden neu entdeckte Lücken nicht mehr geschlossen. Hoster stellen solche Versionen früher oder später um oder bieten den Weiterbetrieb nur noch gegen Aufpreis an. Läuft der Code dann nicht mit der neuen Version, zeigt die Website Fehlermeldungen oder bleibt ganz weiß.

Besser ist es, das Update selbst zu planen: in einer Testumgebung, mit Zeit für die Fehlersuche und ohne Druck durch einen festen Umstellungstermin.

Ihr Ansprechpartner: Stefan Pilz · Stefan Pilz Ltd. · Zusammenarbeit 100 % remote

KONKRETER LEISTUNGSUMFANG

Was bei einem PHP-Update anfällt

Kompatibilität prüfen

Mit statischer Analyse finde ich die Stellen im Code, die mit der Zielversion nicht mehr funktionieren oder als veraltet markiert sind. Dazu kommen die Abhängigkeiten: Composer-Pakete, Frameworks, CMS-Erweiterungen und PHP-Extensions auf dem Server. Sie erhalten eine Liste mit allen betroffenen Stellen und eine Einschätzung des Aufwands.

Code anpassen

Je älter die Ausgangsversion, desto mehr ist zu tun. Die alte MySQL-Erweiterung gibt es seit PHP 7 nicht mehr, each() und create_function() wurden mit PHP 8 entfernt. Seit PHP 8.1 und 8.2 erzeugen unter anderem null-Werte an Stellen, die eine Zeichenkette erwarten, und dynamisch angelegte Eigenschaften Warnungen, die in künftigen Versionen zu Fehlern werden. Ich behebe solche Stellen sauber, statt Meldungen nur auszublenden.

Abhängigkeiten und Server

Bibliotheken werden auf Versionen gebracht, die die Ziel-PHP-Version unterstützen. Nicht mehr gepflegte Pakete ersetze ich durch Alternativen. Auf dem Server prüfe ich Extensions und Einstellungen, damit nach der Umstellung nichts fehlt, etwa beim Mailversand, bei Bildbearbeitung oder Verschlüsselung.

TYPISCHE FEHLERMELDUNGEN

Fehler, die nach einem PHP-Update auftauchen

Diese Meldungen sehe ich bei veraltetem Code häufig. Taucht eine davon bei Ihnen auf, ist der Code nicht mit der neuen PHP-Version kompatibel.

Call to undefined function mysql_connect()

Die alte MySQL-Erweiterung existiert seit PHP 7 nicht mehr. Datenbankzugriffe müssen auf mysqli oder PDO umgestellt werden, idealerweise mit vorbereiteten Abfragen, die zugleich vor SQL-Injection schützen.

Call to undefined function each()

each() und create_function() wurden mit PHP 8 entfernt. Betroffen sind oft ältere Bibliotheken, Templates und CMS-Erweiterungen. Die Stellen lassen sich meist mit foreach und anonymen Funktionen ersetzen.

count(): Argument #1 ($value) must be of type Countable|array

Seit PHP 8 führt count() auf null oder einem einfachen Wert zu einem Fehler statt zu einer Warnung. Der Code hat sich auf ein Verhalten verlassen, das PHP nicht mehr toleriert.

Creation of dynamic property … is deprecated

Seit PHP 8.2 erzeugt es eine Warnung, wenn ein Objekt eine Eigenschaft bekommt, die in der Klasse nicht deklariert ist. Das funktioniert noch, wird aber in einer künftigen Version zum Fehler.

Passing null to parameter #1 … of type string is deprecated

Seit PHP 8.1 warnt PHP, wenn eingebaute Funktionen wie strlen() oder trim() den Wert null erhalten. Solche Meldungen füllen oft massenhaft die Logdateien.

Weiße Seite oder 500 Internal Server Error

Die Seite zeigt nichts oder nur eine allgemeine Fehlerseite, weil Fehlermeldungen auf dem Live-System ausgeblendet sind. Die eigentliche Ursache steht im Fehlerprotokoll des Servers, dort setze ich an.

FACHLICHER HINTERGRUND

Ein konkretes Upgrade von PHP 5.6 auf PHP 8.4.

Für eine individuell entwickelte Website habe ich den vorhandenen PHP-Code auf eine neue Laufzeit angepasst. Das anonymisierte Projekt zeigt, dass eine Aktualisierung im Bestand möglich sein kann; den Aufwand Ihrer Anwendung prüfen wir gesondert.

Anonymisiertes Kundenprojekt · Ausgangslage

PHP 5.6 ohne Framework

Eine gewachsene Website mit vielen einzelnen PHP-Dateien sollte weiterbetrieben werden. Die vorhandenen Funktionen und der bestehende Code waren der Ausgangspunkt.

Dasselbe Projekt · Umgesetztes Ergebnis

Die bestehende Anwendung läuft auf PHP 8.4

Der Code wurde angepasst und erhalten. Für dieses Projekt war kein kompletter Rewrite erforderlich. Ob dieser Weg für Ihre Anwendung passt, klären wir in einer Bestandsprüfung.

ERGEBNISSE & ABGRENZUNG

Ihr Ergebnis und mögliche Einschränkungen

Ihre vereinbarten Ergebnisse

Welche Ergebnisse zum Auftrag gehören, halten wir vor Beginn fest. Je nach vereinbartem Umfang sind das:

  • Kompatibilitätsbericht mit allen betroffenen Stellen und einer Aufwandseinschätzung
  • Angepasster Code, der auf der vereinbarten PHP-Version ohne Fehler und Warnungen läuft
  • Aktualisierte oder ersetzte Abhängigkeiten
  • Test der wichtigsten Abläufe vor der Umstellung und ein abgestimmter Rückweg

Was wir vorab klären

Stammen Teile der Anwendung von Drittanbietern und gibt es dafür keine kompatible Version, müssen sie ersetzt oder angepasst werden. Das kann den Aufwand erhöhen. Ohne Zugriff auf den Quellcode, zum Beispiel bei verschlüsselten Erweiterungen, ist eine Anpassung nicht möglich.

Aufwand und Kosten

Für eine erste Einschätzung helfen Angaben zur aktuellen PHP-Version, zum eingesetzten System und zum Termin, den Ihr Hoster genannt hat. Den Umfang der Prüfung und der Umsetzung vereinbaren wir vorab.

ZUSAMMENARBEIT

So läuft ein PHP-Update ab

Bestand erfassen

Ich verschaffe mir Zugang zum Code und erfasse PHP-Version, Abhängigkeiten und die wichtigsten Abläufe Ihrer Website.

Testumgebung einrichten

Eine Kopie der Website läuft mit der neuen PHP-Version, getrennt vom Live-Betrieb. Dort zeigen sich die Fehler, ohne dass Besucher etwas merken.

Anpassen und testen

Ich behebe die gefundenen Stellen und teste Formulare, Login, Bestellungen und andere wichtige Funktionen.

Umstellen

Wir stellen die Live-Website zu einem abgestimmten Zeitpunkt um. Eine Sicherung und der Weg zurück zur alten Version sind vorbereitet.

PASSENDE THEMEN

Hängt oft zusammen

Symfony-Update

Von älteren Versionen über die LTS-Releases auf Symfony 7.4 oder 8 aktualisieren.

FRAGEN & ANTWORTEN

Fragen zum PHP-Update

Kann ich die PHP-Version nicht einfach beim Hoster umstellen?

Bei vielen Hostern geht das per Klick, und manchmal läuft danach alles. Ob Ihr Code kompatibel ist, sehen Sie aber erst danach. Sicherer ist es, die neue Version zuerst in einer Testumgebung zu prüfen. Wenn Sie bereits umgestellt haben und Fehler auftreten, lässt sich die Version meist vorübergehend zurückstellen.

Welche Version soll ich wählen: PHP 8.4 oder 8.5?

PHP 8.5 bekommt länger Sicherheitsupdates, bis Ende 2029. PHP 8.4 wird derzeit von mehr Bibliotheken und Erweiterungen unterstützt. Welche Version passt, hängt davon ab, was Ihre Abhängigkeiten unterstützen. Das klären wir in der Prüfung.

Was passiert mit WordPress-, Joomla- oder Shop-Erweiterungen?

Für gepflegte Erweiterungen gibt es meist kompatible Versionen. Kritisch sind Erweiterungen, die nicht mehr weiterentwickelt werden. Sie lassen sich anpassen, durch eine Alternative ersetzen oder, wenn sie nicht mehr gebraucht werden, entfernen.

Bleibt die Website während des Updates online?

Ja. Die Anpassung findet in einer Testumgebung statt. Erst die eigentliche Umstellung betrifft die Live-Website, und die dauert meist nur kurz.

Lohnt sich ein Update, oder sollte ich neu bauen lassen?

Ein Update ist in vielen Fällen günstiger als ein Neubau, auch bei sehr altem Code, wie das Projekt von PHP 5.6 auf 8.4 zeigt. Ist der Code allerdings so verbaut, dass jede Änderung neue Probleme erzeugt, sage ich Ihnen das offen und wir vergleichen beide Wege.

NÄCHSTER SCHRITT

Welche PHP-Version läuft bei Ihnen?

Nennen Sie die aktuelle PHP-Version, das eingesetzte System und, falls vorhanden, den Umstellungstermin Ihres Hosters. Ich melde mich mit einer ersten Einschätzung.

Ihre Anfrage geht direkt an mich, Stefan Pilz. Umfang und Kosten klären wir vor der Beauftragung.

So geht es nach Ihrer Anfrage weiter

  1. Ausgangslage klären

    Ich lese Ihre Anfrage und melde mich bei Ihnen. Gemeinsam klären wir Ziel, Rahmen und offene Fragen.

  2. Sinnvollen Einstieg bestimmen

    Je nach Vorhaben starten wir mit einer gezielten Umsetzung oder einer vorab vereinbarten Analyse.

  3. Umfang und Angebot abstimmen

    Sie erfahren, welche Leistungen und Ergebnisse vereinbart werden. Aufwand und Kosten klären wir vor der Beauftragung.

PHP-Update anfragen

* Pflichtfelder. Eine kurze Beschreibung genügt.

Unter dieser Adresse antworte ich Ihnen.

Welche PHP-Version ist im Einsatz? Handelt es sich um eine eigene Anwendung, ein CMS oder einen Shop? Gibt es bereits Fehlermeldungen oder einen Termin des Hosters?

So kann ich mir einen ersten Eindruck verschaffen.

Ihre Angaben werden zur Bearbeitung Ihrer Anfrage verwendet. Informationen dazu finden Sie in der Datenschutzerklärung. Bitte senden Sie keine Zugangsdaten oder sensiblen Dokumente.

Mit Ihrer Anfrage erteilen Sie noch keinen Auftrag.