PHP Versionen verstehen: Unterschiede, Auswahl und Konfiguration
PHP treibt einen Großteil der Websites im Internet an. Von einfachen Blogs bis zu komplexen Online Shops: Diese Skriptsprache macht dynamische Webseiten möglich. Doch PHP entwickelt sich ständig weiter. Neue Versionen bringen bessere Leistung, neue Funktionen und erhöhte Sicherheit. Gleichzeitig können sie bestehende Websites zum Absturz bringen, wenn der Code nicht kompatibel ist. Dieser Ratgeber hilft Ihnen, die richtige PHP Version zu wählen und optimal zu konfigurieren.
Was ist PHP und warum gibt es verschiedene Versionen?
PHP steht für "PHP: Hypertext Preprocessor" und ist eine serverseitige Skriptsprache. Im Gegensatz zu HTML, das der Browser direkt verarbeitet, läuft PHP auf dem Webserver. Der Server führt den Code aus und liefert das Ergebnis als fertige HTML Seite an den Browser.
Wie jede Software wird auch PHP weiterentwickelt. Fehler werden behoben, Sicherheitslücken geschlossen, neue Funktionen hinzugefügt. Diese Änderungen führen zu neuen Versionen. Manche Änderungen sind klein und abwärtskompatibel, andere so gravierend, dass bestehender Code angepasst werden muss.
Das PHP Versionierungsschema
PHP verwendet ein dreistufiges Versionierungssystem: Major.Minor.Patch. Die erste Ziffer bezeichnet die Hauptversion, die zweite eine Nebenversion, die dritte Fehlerbehebungen.
- Major Version (z.B. 7 auf 8): Große Änderungen, oft nicht abwärtskompatibel
- Minor Version (z.B. 8.0 auf 8.1): Neue Funktionen, meist kompatibel
- Patch Version (z.B. 8.1.0 auf 8.1.1): Nur Fehlerbehebungen
Übersicht der PHP Versionen
Ein Blick auf die Geschichte und den aktuellen Stand zeigt, wie sich PHP entwickelt hat und welche Versionen heute relevant sind.
PHP 5.x (veraltet)
PHP 5 war lange Zeit der Standard. Die Version führte wichtige Konzepte wie verbesserte Objektorientierung ein. Seit Ende 2018 erhält PHP 5.6, die letzte Version der 5er Reihe, keine Sicherheitsupdates mehr. Wer noch PHP 5 nutzt, setzt seine Website erheblichen Risiken aus.
PHP 7.x
Mit PHP 7 kam 2015 ein gewaltiger Sprung. Die Geschwindigkeit verdoppelte sich nahezu, der Speicherverbrauch sank deutlich. PHP 7 brachte neue Operatoren, Typdeklarationen und viele moderne Sprachfeatures. Die letzte Version dieser Reihe, PHP 7.4, erhielt bis November 2022 Support.
PHP 8.x
PHP 8 erschien Ende 2020 und setzt die Modernisierung fort. Der JIT Compiler (Just In Time) kann bestimmte Operationen noch schneller ausführen. Named Arguments, Attributes und Union Types machen den Code ausdrucksstärker und sicherer. PHP 8.1 und 8.2 erweiterten diese Neuerungen.
Aktuelle Versionen im Überblick
| Version | Erscheinungsdatum | Aktiver Support bis | Sicherheitssupport bis |
|---|---|---|---|
| PHP 7.4 | November 2019 | November 2021 | November 2022 |
| PHP 8.0 | November 2020 | November 2022 | November 2023 |
| PHP 8.1 | November 2021 | November 2023 | November 2024 |
| PHP 8.2 | Dezember 2022 | Dezember 2024 | Dezember 2025 |
| PHP 8.3 | November 2023 | November 2025 | November 2026 |
Wichtige Unterschiede zwischen den Versionen
Die Versionswechsel bringen spürbare Verbesserungen, erfordern aber oft Anpassungen am Code.
Von PHP 7.4 zu PHP 8.0
Der Sprung auf PHP 8 war bedeutend. Die wichtigsten Änderungen:
- JIT Compiler: Zusätzliche Beschleunigung für rechenintensive Operationen
- Named Arguments: Funktionsparameter können mit Namen statt Position übergeben werden
- Attributes: Metadaten direkt im Code, ohne Docblock Kommentare
- Match Expression: Elegantere Alternative zu switch Anweisungen
- Nullsafe Operator: Vereinfacht den Umgang mit potenziell null Werten
- Strengere Typprüfungen: Weniger implizite Konvertierungen, mehr Fehler bei Typkonflikten
Die strengeren Typprüfungen sind der häufigste Grund für Probleme beim Upgrade. Code, der unter PHP 7 funktionierte, kann unter PHP 8 Fehler werfen. Besonders betroffen sind unsaubere Vergleiche und die Übergabe falscher Typen an Funktionen.
Von PHP 8.0 zu PHP 8.1
PHP 8.1 führte Enums ein, eine lang gewünschte Funktion für typsichere Aufzählungen. Readonly Properties ermöglichen unveränderliche Objekteigenschaften. Fibers bieten die Grundlage für asynchrone Programmierung.
Von PHP 8.1 zu PHP 8.2
PHP 8.2 brachte readonly Klassen und Konstanten in Traits. Einige ältere Funktionen wurden als deprecated markiert. Die Disjunctive Normal Form Types ermöglichen komplexere Typdeklarationen.
Die richtige PHP Version wählen
Die Wahl der PHP Version ist ein Balanceakt zwischen Modernität und Kompatibilität.
Faktoren bei der Entscheidung
Mehrere Aspekte spielen eine Rolle:
- Kompatibilität: Unterstützt Ihr CMS oder Framework die gewünschte Version?
- Sicherheitssupport: Erhält die Version noch Sicherheitsupdates?
- Performance: Neuere Versionen sind meist schneller
- Funktionen: Benötigen Sie neue Sprachfeatures?
- Hosting: Welche Versionen bietet Ihr Webhoster an?
Empfehlungen nach Anwendungsfall
| Situation | Empfohlene Version | Begründung |
|---|---|---|
| Neues Projekt | PHP 8.2 oder 8.3 | Aktuellste Features, längster Support |
| Bestehendes CMS (aktuell) | PHP 8.1 oder 8.2 | Gute Balance aus Kompatibilität und Modernität |
| Legacy Anwendung | PHP 8.0 oder 8.1 | Kompromiss für ältere Codebasen |
| Veraltete Software | Höchstmögliche kompatible Version | Migration planen, kurzfristig stabil bleiben |
PHP Version im Hosting wechseln
Die meisten Webhoster bieten mehrere PHP Versionen zur Auswahl. Der Wechsel ist oft mit wenigen Klicks erledigt.
Vorbereitung des Wechsels
Bevor Sie die Version umstellen, sollten Sie einige Punkte prüfen:
- Erstellen Sie ein Backup Ihrer Website und Datenbank
- Prüfen Sie die Kompatibilitätshinweise Ihres CMS oder Frameworks
- Aktualisieren Sie alle Plugins und Erweiterungen auf aktuelle Versionen
- Testen Sie die Website in einer Testumgebung mit der neuen Version
- Planen Sie den Wechsel für einen Zeitpunkt mit wenig Traffic
Durchführung über das Hosting Panel
Bei cPanel finden Sie die PHP Einstellungen unter "MultiPHP Manager" oder "Select PHP Version". Wählen Sie die gewünschte Version für Ihre Domain. Bei Plesk heißt der Bereich "PHP Settings" in den Website Einstellungen.
Nach dem Wechsel
Testen Sie Ihre Website gründlich. Prüfen Sie alle wichtigen Funktionen:
- Startseite und Unterseiten
- Formulare und Kontaktmöglichkeiten
- Login und Benutzerverwaltung
- Shop Funktionen falls vorhanden
- Backend und Administration
Achten Sie auf Fehlermeldungen und ungewöhnliches Verhalten. Bei Problemen können Sie meist schnell zur vorherigen Version zurückwechseln.
PHP Konfiguration anpassen
Neben der Version lassen sich viele PHP Einstellungen anpassen. Diese beeinflussen Leistung, Sicherheit und Funktionalität.
Wichtige Konfigurationsparameter
| Parameter | Standardwert | Beschreibung |
|---|---|---|
| memory_limit | 128M | Maximaler Speicher pro Skript |
| max_execution_time | 30 | Maximale Laufzeit in Sekunden |
| upload_max_filesize | 2M | Maximale Größe für Datei Uploads |
| post_max_size | 8M | Maximale Größe von POST Daten |
| max_input_vars | 1000 | Maximale Anzahl von Eingabevariablen |
| display_errors | Off | Fehler im Browser anzeigen |
Konfiguration über php.ini
Die zentrale Konfigurationsdatei heißt php.ini. Im Shared Hosting haben Sie darauf meist keinen Zugriff. Viele Hoster erlauben aber Anpassungen über:
- .user.ini: Eigene Einstellungen im Webspace Verzeichnis
- .htaccess: PHP Werte über Apache Direktiven setzen
- Hosting Panel: Grafische Oberfläche für gängige Einstellungen
Speicherlimit erhöhen
Ein zu niedriges Speicherlimit führt zu Abbrüchen bei speicherintensiven Operationen. Bei CMS wie WordPress oder bei der Bildverarbeitung kann mehr Speicher nötig sein. Erhöhen Sie das Limit schrittweise und beobachten Sie die Auswirkungen.
Timeout verlängern
Lange laufende Skripte werden nach dem eingestellten Timeout abgebrochen. Für Importe, Exports oder aufwendige Berechnungen kann eine höhere Grenze sinnvoll sein. Übertreiben Sie es nicht: Zu hohe Timeouts können den Server blockieren.
Upload Limits anpassen
Für den Upload größerer Dateien müssen mehrere Werte zusammenpassen. upload_max_filesize bestimmt die maximale Dateigröße, post_max_size muss mindestens genauso groß sein. Auch der Webserver hat eigene Limits, die beachtet werden müssen.
Fehlerbehandlung und Debugging
Die PHP Konfiguration beeinflusst auch, wie mit Fehlern umgegangen wird.
Fehleranzeige im Entwicklungsmodus
Während der Entwicklung sollten Fehler direkt angezeigt werden. Das erleichtert die Fehlersuche erheblich. Setzen Sie dazu display_errors auf On und error_reporting auf E_ALL.
Fehleranzeige im Produktivbetrieb
Auf einer öffentlichen Website sollten Fehler niemals direkt angezeigt werden. Sie verraten Angreifern wertvolle Informationen über Ihre Infrastruktur. Deaktivieren Sie display_errors und loggen Sie Fehler stattdessen in Dateien. So können Sie Probleme nachvollziehen, ohne die Sicherheit zu gefährden.
Typische PHP Fehler verstehen
- Parse Error: Syntaxfehler im Code, wird vor der Ausführung erkannt
- Fatal Error: Schwerer Fehler, Skript wird abgebrochen
- Warning: Problem erkannt, Skript läuft weiter
- Notice: Hinweis auf potenzielles Problem
- Deprecated: Verwendung veralteter Funktionen
PHP und Webserver Zusammenspiel
PHP arbeitet eng mit dem Webserver zusammen. Die Art der Einbindung beeinflusst Leistung und Konfigurationsmöglichkeiten.
PHP als Modul
Bei Apache kann PHP als Modul direkt integriert werden. Der PHP Interpreter läuft im selben Prozess wie der Webserver. Das ist einfach einzurichten, aber weniger flexibel. Alle PHP Einstellungen gelten für alle Websites auf dem Server gleichermaßen.
PHP FPM
PHP FPM (FastCGI Process Manager) ist die modernere Alternative. PHP läuft als eigenständiger Dienst. Der Webserver reicht Anfragen an PHP FPM weiter und erhält die Ausgabe zurück. Diese Trennung ermöglicht:
- Unterschiedliche PHP Versionen für verschiedene Websites
- Individuelle Konfiguration pro Website
- Bessere Ressourcenkontrolle
- Höhere Sicherheit durch Prozessisolation
Die meisten modernen Hosting Umgebungen nutzen PHP FPM, oft in Kombination mit Nginx als Webserver.
Kompatibilität sicherstellen
Ein PHP Upgrade kann bestehenden Code brechen. Eine systematische Prüfung minimiert das Risiko.
Kompatibilitätsprüfung vor dem Upgrade
Mehrere Ansätze helfen, Probleme frühzeitig zu erkennen:
- Deprecation Warnings: Aktivieren Sie die Anzeige veralteter Funktionen
- Kompatibilitätschecker: Tools prüfen den Code auf bekannte Inkompatibilitäten
- Testumgebung: Testen Sie mit der neuen Version, bevor Sie produktiv wechseln
- Changelogs: Lesen Sie die offiziellen Änderungsprotokolle
Häufige Kompatibilitätsprobleme
| Problem | Ursache | Lösung |
|---|---|---|
| Entfernte Funktionen | Funktion existiert nicht mehr | Durch aktuelle Alternative ersetzen |
| Typfehler | Strengere Typprüfung | Korrekten Typ übergeben |
| Geänderte Rückgabewerte | Neue Rückgabetypen | Code anpassen |
| Deprecated Warnings | Veraltete Syntax | Moderne Schreibweise nutzen |
Performance Optimierung
Die richtige PHP Konfiguration kann die Website Geschwindigkeit deutlich verbessern.
OPcache aktivieren
OPcache speichert kompilierten PHP Code im Speicher. Bei weiteren Aufrufen muss der Code nicht erneut geparst werden. Das beschleunigt die Ausführung erheblich. OPcache ist standardmäßig aktiviert, die Einstellungen können aber optimiert werden.
JIT Compiler nutzen
Der JIT Compiler in PHP 8 kann bestimmte Codeabschnitte zur Laufzeit in Maschinencode übersetzen. Der Gewinn hängt stark vom Anwendungsfall ab. Bei typischen Webanwendungen ist der Effekt oft gering, bei rechenintensiven Aufgaben kann er spürbar sein.
Realpath Cache
PHP muss Dateipfade regelmäßig auflösen. Der Realpath Cache speichert diese Zuordnungen. Eine großzügigere Konfiguration kann bei vielen Dateien helfen.
Sicherheit durch aktuelle Versionen
Veraltete PHP Versionen sind ein Sicherheitsrisiko. Regelmäßige Updates schließen bekannte Lücken.
Supportzeiträume beachten
Jede PHP Version erhält zwei Jahre aktiven Support mit neuen Features und Bugfixes. Danach folgt ein Jahr nur mit Sicherheitsupdates. Nach drei Jahren gibt es keinen Support mehr. Websites auf unsupporteten Versionen sind gefährdet.
Upgrade Planung
Planen Sie PHP Upgrades proaktiv. Warten Sie nicht, bis der Support endet. Idealerweise testen Sie neue Versionen zeitnah nach der Veröffentlichung und planen das Upgrade innerhalb eines Jahres.
Die Wahl und Konfiguration der PHP Version ist keine einmalige Entscheidung. Sie erfordert regelmäßige Aufmerksamkeit. Bleiben Sie aktuell, testen Sie sorgfältig vor Upgrades und nutzen Sie die Möglichkeiten der Konfiguration. Dann profitieren Sie von der Leistung und Sicherheit moderner PHP Versionen, ohne böse Überraschungen zu erleben. Weitere Informationen zur technischen Seite Ihres Hostings finden Sie in unseren Ratgebern zu Datenbanken und Server Sicherheit.
