Shopwares Kompatibilität zu PHP 7.3 und 7.2

Shopware

Welche Shopware Versionen unterstützen PHP 7.3 und PHP 7.2? Im Beitrag haben wir die wichtigsten Informationen rund um Shopwares Kompatibilität zu PHP 7.3 und 7.2 zusammengefasst.

PHP 7.2 und PHP 7.3 - ein Vergleich

In den Benchmarks von Phoronix zeigte sich, dass PHP 7.3 je nach Test zwischen 5 und 10 Prozent schneller ist als seine Vorgängerversion PHP 7.2. Im Vergleich zu der noch älteren Version PHP 7.0, ist die aktuelle Version sogar um 31 % schneller und zudem 3x so schnell wie PHP 5.0.

Benchmark von phoronix

Quelle: phoronix.com

PHP 7.3 ist im Vergleich zu 7.2 umfangreicher, da es neue Features und Optimierungen mitbringt, wie etwa:

  • Flexible Heredoc and Nowdoc Syntaxes: Die Endmarkierungen können durch die flexiblere Gestaltung von Heredoc und Nowdoc nun eingerückt werden. Es muss kein Zeilenumbruch mehr gesetzt werden.
     <?php
     class foo {
          public $bar = <<<EOT
          bar
          EOT;
     }
  myfunction(
           "Fuu",
           "Bar",
           "FuBar",
      );
  • PCRE2 Migration: Der PHP Core wird auf die Nutzung des PCRE2-Standards (Perl Compatible Regular Expressions) eingestellt.
  • JSON_THROW_ON_ERROR: PHP 7.3 verändert die Fehlerbehandlung für JSON-Extensions. Zuvor standen Fehler nur über die Funktion _json_lasterror() zur Verfügung. Es gibt jetzt die Option, bei Fehlern im Kontext von _jsonencode und _jsondecode Exceptions zu erzeugen.
  • list() Reference Assignment: Eine neue Syntax für die Zuweisung von Variablen durch Referenzen in list() wird eingeführt. Anstelle von:
$array = [1, 2];
$a = $array[0];
$b =& $array[1];

ist in PHP 7.3 nun folgende Sequenz möglich:

$array = [1, 2];
list($a, &$b) = $array;
$foo = 'bar';

$baz = compact('foz'); // Notice: compact(): Undefined variable: foz

In der Version PHP 7.2 wurden Sprachkonstrukte verwendet, die inzwischen als veraltet eingestuft und für PHP 7.3 entfernt wurden (Deprecations for PHP 7.3):

  • Undokumentierte mbstring-Funktions-Aliases
  • String-Search-Funktionen mit integer needle
  • fgetss() Funktion und "string.strip_tags"-Filter
  • Definition freistehender assert()-Funktionen
  • FILTER_FLAG_SCHEME_REQUIRED und FILTER_FLAG_HOST_REQUIRED Flags
  • Die php.ini Direktive _pdo_odbc.db2_instancename

Kompatible Shopware-Versionen mit PHP 7.3 und 7.2

Shopware ist bereits seit Version 5.3 mit PHP 7.2 kompatibel, allerdings nur die Shopware Version. Die Plugins, welche für den Betrieb eines kundenfreundlichen Onlineshops unerlässlich sind, wurden durch ionCube verschlüsselt. Hier steckt auch die ganze Problematik, denn die verschlüsselten Plugins sind nicht mit PHP 7.2 kompatibel. Diese Abhängigkeit von ionCube und die dadurch entstandene Einschränkung der Shop-Performance wollte Shopware nicht mehr akzeptieren. Deshalb verkündete Stefan Hamann, CEO von Shopware, auf dem Shopware Community Day 2018, dass sich das Unternehmen von den "Fesseln von ionCube" lösen wird. Mit der Version Shopware 5.5 (Release 18.9.2018) setzte das Unternehmen diese Ankündigung um. Shopware wurde mit allen Plugins quelloffen und damit kompatibel für PHP 7.2.
Auf dem Shopware Community Day 2019 verkündete Shopware viele Neuigkeiten über die neuen Versionen Shopware 5.6 und insbesondere über das neue eCommerce-System Shopware 6. Die Informationen haben wir im Review SCD19 zusammengefasst.

In der folgenden Tabelle finden Sie eine Übersicht über alle Versionen, die mit PHP 7.2 und / oder PHP 7.3 kompatibel sind.

Shopware VersionKompatibilität zu PHP 7.2Kompatibilität zu PHP 7.3
Shopware 5.0.0 bis 5.2.27nicht kompatibelnicht kompatibel
Shopware 5.3.0 bis Version 5.4.6Diese Versionen unterstützen PHP 7.2. allerdings sind sie nur mit quelloffenen Plugins kompatibel. Die verschlüsselten Plugins nutzen den ionCube Loader zur Verschlüsselung. Dieser ist nicht mit PHP 7.2 kompatibel, wodurch die verschlüsselten Plugins ebenfalls nicht PHP 7.2 unterstützen.nicht kompatibel
Shopware 5.5 bis Shopware 5.5.xKompatibel mit PHP 7.2.nicht kompatibel
Shopware 5.6 (Release im Juli 2019)Kompatibel. PHP 7.2 ist die Mindestvoraussetzung für diese Version. Die Unterstützung für die älteren PHP-Versionen PHP 5.6, 7.0 und 7.1 fällt weg.kompatibel
Shopware 6.0 (Early access im Juli 2019)Kompatibel. PHP 7.2 ist die Mindestvoraussetzung für diese Version. Die Unterstützung für die älteren PHP-Versionen PHP 5.6, 7.0 und 7.1 fällt weg.kompatibel
Shopware 6.1 (Release im Dezember 2019)Kompatibel. PHP 7.2 ist die Mindestvoraussetzung für diese Version.kompatibel


Fazit

Gegenüber PHP 7.2 bietet PHP 7.3 einige Vorteile und Verbesserungen, sowohl in der Performance als auch in den Features. PHP 7.3 ist um bis zu 10 % schneller als PHP 7.2. Sprachkonstrukte, die als veraltete eingestuft werden, wurden entfernt. Die Arbeit für Entwickler wurde durch die Optimierungen vereinfacht.

Shopware unterstützt PHP 7.3 bereits ab Version 5.6 (Release Juli 2019) und Shopware 6.0 (Early access im Juli 2019, Release von Shopware 6.1 im Dezember 2019). Die Mindestvoraussetzung ist jedoch PHP 7.2.

Sollten Sie noch eine ältere PHP-Version nutzen, empfehlen wir Ihnen aufgrund der Performance Vorteile das Upgrade auf PHP 7.3 und das Update auf Shopware 5.6 oder 6.0 nach der Veröffentlichung im Juli 2019. Sollten Sie bereits PHP 7.2 nutzen, verfügen Sie bereits über eine sehr performante PHP-Version, die zudem mit allen Shopware Versionen (und quelloffenen Plugins) ab Shopware 5.5 kompatibel ist. Hier ist ein Upgrade nicht zwingend erforderlich, führt aber zu den oben genannten Performance Verbesserungen.

Sie haben Fragen, Wünsche, Kritik, Anregungen oder wollen uns einfach mal Ihre Meinung zu unserem Blog mitteilen? Hier haben Sie Gelegenheit, direkt mit uns in Kontakt zu treten.

E-Mail senden