PHP-Versionskompatibilitätsmatrix für PrestaShop (1.6 bis 9.x)

412 Aufrufe

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_errors aktiviert 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-VersionPHP 5.4PHP 5.5PHP 5.6PHP 7.0PHP 7.1PHP 7.2+
1.6.0.x - 1.6.0.14JaJaJaNeinNeinNein
1.6.1.0 - 1.6.1.4JaJaJaTeilweiseNeinNein
1.6.1.5 - 1.6.1.23JaJaJaJaJaNein
1.6.1.24+JaJaJaJaJaNein

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-VersionPHP 7.1PHP 7.2PHP 7.3PHP 7.4PHP 8.0+
1.7.0.x - 1.7.4.xJa (empfohlen)NeinNeinNeinNein
1.7.5.xJaJa (empfohlen)NeinNeinNein
1.7.6.xJaJa (empfohlen)JaNeinNein
1.7.7.xJaJaJa (empfohlen)TeilweiseNein
1.7.8.xJaJaJaJa (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-VersionPHP 7.2PHP 7.3PHP 7.4PHP 8.0PHP 8.1PHP 8.2PHP 8.3
8.0.0 - 8.0.2Ja (min)JaJaJaTeilweiseNeinNein
8.0.3 - 8.0.5Ja (min)JaJaJaJa (empfohlen)NeinNein
8.1.0 - 8.1.2NeinJa (min)JaJaJa (empfohlen)TeilweiseNein
8.1.3 - 8.1.7NeinJa (min)JaJaJa (empfohlen)JaTeilweise

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-VersionPHP 8.1PHP 8.2PHP 8.3PHP 8.4
9.0.xJa (min)JaJa (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-VersionAktiver Support bisSicherheitsfixes bisStatus (2026)
PHP 7.4Nov 2021Nov 2022EOL - Gefährlich
PHP 8.0Nov 2022Nov 2023EOL - Gefährlich
PHP 8.1Nov 2023Dez 2025EOL - Bald upgraden
PHP 8.2Dez 2024Dez 2026Nur Sicherheitsupdates
PHP 8.3Dez 2025Dez 2027Nur Sicherheitsupdates
PHP 8.4Dez 2026Dez 2028Aktiver 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 parent

Verfallswarnungen 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.log

Modulinkompatibilitä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ührungszeitlimit

Schritt 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.

Lade ...
Nach oben