PHP-Versionskompatibilitätsmatrix für PrestaShop (1.6 bis 9.x)
PHP-Versionskompatibilitätsmatrix für PrestaShop
Die Wahl der richtigen PHP-Version für Ihren PrestaShop-Shop ist eine der wichtigsten Infrastrukturentscheidungen, die Sie treffen werden. Eine inkompatible PHP-Version kann weiße Bildschirme, fehlerhafte Checkout-Abläufe, Modulfehler und Sicherheitslücken verursachen. Dieser umfassende Leitfaden behandelt jede PrestaShop-Version von 1.6 bis 9.x und ordnet jede Version ihren unterstützten PHP-Versionen, empfohlenen Konfigurationen und Upgrade-Überlegungen zu.
Warum die PHP-Version für PrestaShop wichtig ist
PHP ist die serverseitige Programmiersprache, die PrestaShop antreibt. Jede wichtige PHP-Version bringt Leistungsverbesserungen, neue Sprachfunktionen und veraltet ältere Funktionen. Die PrestaShop-Codebasis entwickelt sich parallel zu PHP weiter, was bedeutet, dass neuere PrestaShop-Versionen moderne PHP-Funktionen nutzen und gleichzeitig die Unterstützung für veraltete Versionen einstellen.
Die Verwendung der falschen PHP-Version verursacht drei Kategorien von Problemen:
- Fatale Fehler - Funktionen, die in neueren PHP-Versionen entfernt wurden (z.B.
mysql_*-Funktionen in PHP 7.0,each()in PHP 8.0), verursachen sofortige Abstürze. - Verfallswarnungen - Veraltete Funktionen erzeugen Warnungen, die AJAX-Antworten, JSON-Ausgaben und PDF-Erstellung stören können, wenn
display_errorsaktiviert ist. - Sicherheitsrisiken - PHP-Versionen, die ihr Lebensende erreicht haben, erhalten keine Sicherheitspatches mehr und machen Ihren Shop anfällig für Angriffe.
Vollständige Kompatibilitätsmatrix
PrestaShop 1.6.x
| PrestaShop-Version | PHP 5.4 | PHP 5.5 | PHP 5.6 | PHP 7.0 | PHP 7.1 | PHP 7.2+ |
|---|---|---|---|---|---|---|
| 1.6.0.x - 1.6.0.14 | Ja | Ja | Ja | Nein | Nein | Nein |
| 1.6.1.0 - 1.6.1.4 | Ja | Ja | Ja | Teilweise | Nein | Nein |
| 1.6.1.5 - 1.6.1.23 | Ja | Ja | Ja | Ja | Ja | Nein |
| 1.6.1.24+ | Ja | Ja | Ja | Ja | Ja | Nein |
Empfohlenes PHP für 1.6.x - PHP 7.1. Es bietet die beste Balance zwischen Leistung und Kompatibilität. Das Ausführen von 1.6.x auf PHP 7.2+ erfordert Änderungen an Kerndateien, die den Upgrade-Pfad unterbrechen und nicht empfohlen werden.
PrestaShop 1.7.x
| PrestaShop-Version | PHP 7.1 | PHP 7.2 | PHP 7.3 | PHP 7.4 | PHP 8.0+ |
|---|---|---|---|---|---|
| 1.7.0.x - 1.7.4.x | Ja (empfohlen) | Nein | Nein | Nein | Nein |
| 1.7.5.x | Ja | Ja (empfohlen) | Nein | Nein | Nein |
| 1.7.6.x | Ja | Ja (empfohlen) | Ja | Nein | Nein |
| 1.7.7.x | Ja | Ja | Ja (empfohlen) | Teilweise | Nein |
| 1.7.8.x | Ja | Ja | Ja | Ja (empfohlen) | Nein |
Kritische Warnung - Keine Version von PrestaShop 1.7 unterstützt PHP 8.0 oder höher. Wenn Sie PS 1.7.6 auf PHP 8 ausführen, stürzt Smarty sofort ab, da die Template-Engine Funktionen verwendet, die in PHP 8.0 entfernt wurden. Die Entfernung der each()-Funktion und Änderungen an der Funktionsweise von array_key_exists() mit Objekten verursachen fatale Fehler.
PrestaShop 8.x
| PrestaShop-Version | PHP 7.2 | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 | PHP 8.2 | PHP 8.3 |
|---|---|---|---|---|---|---|---|
| 8.0.0 - 8.0.2 | Ja (min) | Ja | Ja | Ja | Teilweise | Nein | Nein |
| 8.0.3 - 8.0.5 | Ja (min) | Ja | Ja | Ja | Ja (empfohlen) | Nein | Nein |
| 8.1.0 - 8.1.2 | Nein | Ja (min) | Ja | Ja | Ja (empfohlen) | Teilweise | Nein |
| 8.1.3 - 8.1.7 | Nein | Ja (min) | Ja | Ja | Ja (empfohlen) | Ja | Teilweise |
Empfohlenes PHP für 8.x - PHP 8.1. Es bietet die optimale Kombination aus voller Kompatibilität, aktivem Sicherheitssupport und hervorragender Leistung mit JIT-Kompilierung. PHP 8.1 bringt Fibers, Enums, Readonly-Eigenschaften und Intersection-Typen, die PrestaShop 8 nutzen kann.
PrestaShop 9.x
| PrestaShop-Version | PHP 8.1 | PHP 8.2 | PHP 8.3 | PHP 8.4 |
|---|---|---|---|---|
| 9.0.x | Ja (min) | Ja | Ja (empfohlen) | Ja |
Empfohlenes PHP für 9.x - PHP 8.3 oder 8.4. PrestaShop 9 läuft auf Symfony 6.4 LTS und erfordert PHP 8.1 als Minimum. PHP 8.4 bringt Property Hooks und asymmetrische Sichtbarkeit, die zukünftige PrestaShop-Updates nutzen werden.
PHP-End-of-Life-Daten, die Sie kennen müssen
| PHP-Version | Aktiver Support bis | Sicherheitsfixes bis | Status (2026) |
|---|---|---|---|
| PHP 7.4 | Nov 2021 | Nov 2022 | EOL - Gefährlich |
| PHP 8.0 | Nov 2022 | Nov 2023 | EOL - Gefährlich |
| PHP 8.1 | Nov 2023 | Dez 2025 | EOL - Bald upgraden |
| PHP 8.2 | Dez 2024 | Dez 2026 | Nur Sicherheitsupdates |
| PHP 8.3 | Dez 2025 | Dez 2027 | Nur Sicherheitsupdates |
| PHP 8.4 | Dez 2026 | Dez 2028 | Aktiver Support |
Wenn Sie im Jahr 2026 PHP 7.4 oder 8.0 verwenden, arbeiten Sie mit einer nicht unterstützten Version, die keine Sicherheitspatches mehr erhält. Dies ist ein kritisches Risiko für jeden E-Commerce-Shop, der Zahlungsdaten verarbeitet.
So überprüfen Sie Ihre aktuelle PHP-Version
Methode 1 - PrestaShop Back Office
Navigieren Sie zu Erweiterte Einstellungen > Informationen. Der Bereich Serverinformationen zeigt Ihre PHP-Version zusammen mit dem Speicherlimit, der maximalen Ausführungszeit und anderen relevanten Einstellungen an.
Methode 2 - PHP-Info-Datei
Erstellen Sie eine Datei namens phpinfo.php im Stammverzeichnis Ihres Shops mit folgendem Inhalt:
<?php phpinfo();Rufen Sie sie über Ihren Browser auf: https://ihrshop.com/phpinfo.php. Löschen Sie diese Datei sofort nach der Überprüfung - sie legt sensible Serverkonfigurationsdetails offen.
Methode 3 - Kommandozeile
php -v
php -r "echo PHP_VERSION;"Beachten Sie, dass die CLI-PHP-Version sich von der Webserver-PHP-Version unterscheiden kann. Überprüfen Sie immer über die Weboberfläche oder phpinfo().
Häufige Probleme bei falscher PHP-Version
Weißer Bildschirm des Todes (WSOD)
Das häufigste Symptom einer PHP-Inkompatibilität. Überprüfen Sie Ihr PHP-Fehlerprotokoll (normalerweise unter /var/log/php-errors.log oder über Ihr Hosting-Panel zugänglich). Typische Fehler sind:
Fatal error: Uncaught Error: Call to undefined function mysql_connect()
Fatal error: Uncaught Error: Call to undefined function each()
Fatal error: Cannot use "parent" when current class scope has no parentVerfallswarnungen brechen AJAX
Wenn display_errors = On ist und Sie PHP upgraden, werden Verfallshinweise den AJAX-Antworten vorangestellt. Dies unterbricht das JSON-Parsing im Back Office und führt dazu, dass Funktionen wie Produktsuche, Kundensuche und Bestellerstellung stillschweigend fehlschlagen. Die Lösung:
; php.ini
display_errors = Off
log_errors = On
error_log = /pfad/zum/php-error.logModulinkompatibilität
Module von Drittanbietern unterstützen möglicherweise Ihre PHP-Version nicht. Überprüfen Sie vor dem PHP-Upgrade jedes installierte Modul auf Kompatibilität. Häufige Problembereiche:
- Module, die
create_function()verwenden - in PHP 8.0 entfernt - Module, die
mysql_*-Funktionen verwenden - in PHP 7.0 entfernt - Module, die positionellen Stringzugriff mit geschweiften Klammern
$str{0}verwenden - in PHP 8.0 entfernt - Module, die nullable Rückgabetypen nicht korrekt behandeln - strenger ab PHP 8.1+
So upgraden Sie PHP für PrestaShop sicher
Schritt 1 - Aktuelle Konfiguration dokumentieren
Bevor Sie etwas ändern, dokumentieren Sie Ihre aktuelle Umgebung:
php -v # Aktuelle PHP-Version
php -m # Geladene Erweiterungen
php -i | grep memory # Speicherlimit
php -i | grep max_exec # AusführungszeitlimitSchritt 2 - Modulkompatibilität prüfen
Überprüfen Sie jedes installierte Modul. Konsultieren Sie die Dokumentation des Modulentwicklers bezüglich PHP-Versionsunterstützung. Wenn ein Modul seit über zwei Jahren nicht aktualisiert wurde, ist es wahrscheinlich inkompatibel mit PHP 8.x.
Schritt 3 - Zuerst auf Staging testen
Upgraden Sie niemals PHP auf Ihrem Produktionsserver ohne vorherige Tests. Erstellen Sie eine Staging-Kopie Ihres Shops und testen Sie mit der neuen PHP-Version. Prüfen Sie:
- Front-Office-Seiten laden korrekt
- Produktseiten, Kategorieseiten, CMS-Seiten
- Der Warenkorb- und Checkout-Prozess wird vollständig abgeschlossen
- Zahlungsmodule verarbeiten Testtransaktionen
- Back-Office-Funktionalität funktioniert (Produktbearbeitung, Bestellverwaltung)
- Alle Drittanbietermodule funktionieren korrekt
- Cron-Jobs werden fehlerfrei ausgeführt
Schritt 4 - Upgrade mit Rollback-Plan
Die meisten Hosting-Anbieter ermöglichen den Wechsel der PHP-Version über das Control Panel (cPanel, Plesk, DirectAdmin). Halten Sie die vorherige PHP-Version für ein schnelles Rollback bereit, falls Probleme auftreten.
Schritt 5 - Alle Caches nach dem Upgrade leeren
Nach dem Wechsel der PHP-Version leeren Sie jede Cache-Schicht:
# PrestaShop-Cache leeren
rm -rf var/cache/prod/* var/cache/dev/*
# Smarty-kompilierte Templates leeren
rm -rf var/cache/smarty/compile/* var/cache/smarty/cache/*
# Bei Verwendung von OPcache PHP-FPM neu starten
systemctl restart php8.3-fpm
# CDN-Cache leeren (Cloudflare, etc.)PHP-Konfigurationsempfehlungen für PrestaShop
Unabhängig von der gewählten PHP-Version sind diese Einstellungen für eine optimale PrestaShop-Leistung unerlässlich:
; php.ini empfohlene Einstellungen
memory_limit = 512M
max_execution_time = 300
max_input_vars = 10000
post_max_size = 32M
upload_max_filesize = 32M
; OPcache-Einstellungen (kritisch für Leistung)
opcache.enable = 1
opcache.memory_consumption = 256
opcache.interned_strings_buffer = 32
opcache.max_accelerated_files = 16229
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
; Erforderliche Erweiterungen
extension = intl
extension = zip
extension = gd
extension = curl
extension = mbstring
extension = openssl
extension = pdo_mysql
extension = fileinfoÜberlegungen für Modulentwickler
Wenn Sie PrestaShop-Module entwickeln, müssen Sie die PHP-Kompatibilität sorgfältig berücksichtigen:
- Mindest-PHP-Version - Zielen Sie auf PHP 7.2 als Minimum für Module, die mit PrestaShop 8.0+ funktionieren sollen, oder PHP 8.1 für Module, die nur für PrestaShop 9 bestimmt sind.
- PHPStan oder Psalm verwenden - Statische Analysetools erkennen PHP-Versionsinkompatibilitäten, bevor Ihre Benutzer es tun.
- Versionsspezifische Syntax vermeiden - Funktionen wie Match-Ausdrücke (PHP 8.0), Enums (PHP 8.1) und Readonly-Eigenschaften (PHP 8.1) beschränken Ihr Modul auf diese PHP-Versionen und höher.
- Auf mehreren Versionen testen - Verwenden Sie Docker-Container mit verschiedenen PHP-Versionen, um Ihr Modul über den gesamten Kompatibilitätsbereich zu testen.
Häufig gestellte Fragen
Kann ich PrestaShop 1.7 auf PHP 8 ausführen?
Nein. Keine Version von PrestaShop 1.7 unterstützt offiziell PHP 8.0 oder höher. Während einige Benutzer Patches angewendet haben, um es teilweise zum Laufen zu bringen, ist dies nicht unterstützt und wird bei Updates Probleme verursachen. Der richtige Weg ist ein Upgrade auf PrestaShop 8.x.
Sollte ich PHP 8.4 mit PrestaShop 8.1 verwenden?
Nicht empfohlen. PrestaShop 8.1 wurde hauptsächlich mit PHP 8.1 entwickelt und getestet. Während PHP 8.2 in späteren 8.1.x-Releases teilweise unterstützt wird, führt PHP 8.4 Änderungen ein, die Probleme mit älteren Symfony-Komponenten verursachen können. Bleiben Sie bei PHP 8.1 für PrestaShop 8.x.
Wie viel schneller ist PHP 8.x im Vergleich zu 7.x?
Benchmarks zeigen, dass PHP 8.1 für typische PrestaShop-Workloads etwa 20-30% schneller als PHP 7.4 ist. Der JIT-Compiler bietet den größten Vorteil bei rechenintensiven Aufgaben. Für I/O-gebundene Operationen (Datenbankabfragen, Dateizugriffe) ist die Verbesserung kleiner, aber dennoch messbar.
Erfordert ein PHP-Upgrade auch ein PrestaShop-Upgrade?
Nicht unbedingt, aber beides geht Hand in Hand. Sie können PHP innerhalb des unterstützten Bereichs für Ihre PrestaShop-Version upgraden, ohne PrestaShop selbst zu aktualisieren. Wenn Sie jedoch eine moderne PHP-Version (8.3+) verwenden möchten, benötigen Sie PrestaShop 8.1 oder 9.x.
War diese Antwort hilfreich?
Haben Sie noch Fragen?
Can't find what you're looking for? Send us your question and we'll get back to you quickly.