Shopware mit PHP 7.2: mehr Geschwindigkeit, verbesserte Stabilität

 

Die Server-Programmiersprache PHP wird von so gut wie jeder Webseite eingesetzt, bzw. dem dahinter liegenden System. So nutzt auch Shopware PHP. Da diese Sprache sich einer so großen Beliebtheit erfreut, wird diese natürlich auch immer weiterentwickelt, um mit den Entwicklungen des Internets Schritt zu halten.

Shopware ist aktuell bis zur Version 5.5.X kompatibel mit PHP 7.2. Viele Webseiten verwenden diese Version noch gar nicht und lassen damit viel Potenzial liegen. Die Geschwindigkeitsverbesserungen zwischen dem Einsatz von PHP 7.0 und 7.2 liegen realistisch zwischen 10% und 15%, in Ausnahmefällen noch mehr. Sobald im Vorfeld PHP 5.6 eingesetzt wurde, sind Geschwindigkeitsoptimierungen von über 50% zu erwarten. Zudem verbessert sich mit jeder neuen PHP-Version die Stabilität und auch Sicherheitslücken werden geschlossen.

Zeit also, sich darum zu kümmern, Shopware mit PHP 7.2 einzusetzen.

 

Shopware vorbereiten auf PHP 7.2 Einsatz

Eine wichtige Voraussetzung, um PHP 7.2 unter Shopware zu nutzen ist, dass alle Plugins auf dem neuesten Stand sind. Vor allem Plugins, die man schon einige Jahre im Einsatz hat, müssen hier zwingend aktualisiert werden. Immerhin werden viele dieser Erweiterungen nach und nach verbessert, was auch die Kompatibilität zu PHP 7.2 oder höher einschließt.

Daher sollten Sie also zunächst im Plugin Manager überprüfen, ob es anstehende Updates Ihrer Plugins gibt. Im nächsten Schritt sollte ein Update von Shopware auf die aktuellste Version erfolgen (aktuell 5.5.10 am 08. Juli 2019).

Nach dem Update von Shopware überprüfen Sie nochmals, ob es anstehende Plugin-Updates gibt. Denn viele Aktualisierungen von den eingesetzten Erweiterungen werden erst für spätere Shopware-Versionen freigegeben, sodass sich ein erneuter Blick in den Plugin Manager lohnen kann. Zuletzt löschen Sie noch den Lizenz-Manager, da dieser ab dieser Stelle nicht mehr benötigt wird.

Erst jetzt, wenn Shopware sowie alle Plugins aktualisiert und der Lizenz-Manager gelöscht wurden, können Sie den nächsten Schritt gehen.

 

Plugins auf Nutzung vom ionCube Loader testen

Der ionCube Loader war in vorherigen Versionen von Shopware dazu gedacht, dass auch verschlüsselte Plugins in Shopware eingebunden werden können. Das heißt, diese konnten nicht nach eigenen Bedürfnissen angepasst werden. Wichtig war den Entwicklern dabei aber auch, dass Plugins nach dem Testzeitraum gekauft werden mussten.

Dass so viele Plugins programmiert wurden, liegt auf der Hand. Schließlich möchten auch die Entwickler, wie wir alle, ihren Lebensunterhalt verdienen. Seit der Shopware-Version 5.5 ist wurde diese Verschlüsselung entfernt und wurde durch ein “Lizenz-Check”-System ersetzt. Damit ging Shopware noch weiter in den Bereich Open Source, mit dem Plugins nach belieben angepasst werden konnten.

Der ionCube Loader ist nur bis zur PHP-Version 7.0 kompatibel, darüber hinaus wurde noch keine Kompatibilität hergestellt. Also muss in diesem Schritt geprüft werden, ob noch Plugins eingesetzt werden, die den ionCube Loader zwingend benötigen.

Im Shopware Store gibt es dazu ein kostenloses Plugin: Ioncube Check.

“Der Ioncube Checker zeigt dir alle Plugins im System an die noch Ioncube verwenden. Dazu wird noch angezeigt ob es eine neuere Plugin Version ohne Ioncube gibt.”

Sobald Sie dieses Plugin installiert haben, können Sie es unter Einstellungen -> IonCube Checker öffnen. Darin sehen Sie schließlich, welche Plugins weiterhin den ionCube Loader nutzen.

Wenn Sie dort Einträge sehen, gilt es zu entschieden, wie Sie mit den entsprechenden Plugins umgehen. Im Grundsatz gibt es hierbei nur zwei Möglichkeiten: das oder die betreffenden Plugins löschen oder ersetzen.

Dabei kann es durchaus lohnend sein, Plugins zu löschen. Vor allem dann, wenn Shopware gewisse Funktionen in den eigenen Funktionsumfang aufgenommen hat. Hier gilt es also zu prüfen, was Sie tatsächlich noch benötigen oder was Shopware Ihnen als Kern-Funktion liefert.

Wenn Sie ein Plugin ersetzen, sollten Sie natürlich prüfen, ob ein alternatives Plugin für die Versionen höher Shopware 5.5 geeignet ist. Diese Informationen finden Sie im Shopware Store zu jedem Plugin unterhalb des “In den Warenkorb”-Buttons.

Wenn Sie also nun die Plugins ersetzt oder gelöscht haben, die der IonCube Checker angemerkt hat, öffnen Sie das Plugin ein zweites Mal: rein aus der Vorsicht heraus, nicht doch noch ein Plugin übersehen zu haben. Sobald in dem kleinen Fenster keine Einträge mehr zu sehen sind, können Sie Ihren Shopware Shop auf PHP 7.2 aktualisieren.

Der Weg dahin sieht leider bei jedem Hosting-Anbieter unterschiedlich aus. Daher finden Sie hier ein paar Anleitungen von den wichtigsten Shopware zertifizierten Hostern:

AixPro bietet leider keine hauseigene Anleitung, wie Sie dort auf PHP 7.2 updaten. Sollten Sie einen anderen Hosting-Anbieter nutzen, hilft in aller Regel die Suchanfrage “Anbietername PHP 7.2″. Alternativ hilft dabei auch der Support der Anbieter.

Übrigens: in meinen Hosting-Paketen ist PHP 7.2 vorkonfiguriert. Hier müssen Sie sich also um nichts weiter kümmern.

 

Warum nicht gleich auf PHP 7.3?

Die aktuellen Shopware-Versionen bis 5.5.X sind leider nur kompatibel bis PHP 7.2. Erst mit dem Update auf Shopware 5.6 wird die Möglichkeit eingebaut, PHP 7.3 zu nutzen. Aber Achtung: wenn Sie auf Shopware 5.6 aktualisieren, sollten Sie zwingend prüfen, ob Sie nicht PHP 7.2. verwenden, da alle darunter liegenden PHP-Versionen nicht mehr unterstützt werden.

WICHTIG:

Shopware 5.6 wird ausschließlich mit PHP 7.2 oder PHP 7.3 funktionieren. Ältere Versionen werden nicht mehr unterstützt.

Auch interessant: Update Guide Shopware 5.6

 

Weiße Seite nach der Umstellung auf PHP 7.2?

Sollten Sie nach der Umstellung von Shopware auf PHP 7.2. nur eine weiße Seite sehen und Ihr Shop nicht mehr erreichbar sein, liegt das Problem wahrscheinlich tiefer. Hierbei muss zunächst die Fehlerausgabe aktiviert werden, damit Sie auch sehen können, woran es hakt.

Sie finden die Datei config.php in Ihrem Shopware-Hauptverzeichnis auf Ihrem Server. Tragen Sie dort folgendes ein:

‘front’ => array(
‘showException’ => true,
‘noErrorHandler’ => false,
),

//Low-Level PHP-Fehler ab Shopware 5.2.0
‘phpsettings’ => [
‘display_errors’ => 1,
]

Damit sieht die config.php-Datei ungefähr so aus:

Wenn dem so ist, speichern Sie die Datei ab und laden die aktualisierte Datei auf Ihren Server hoch. Anschließend sollten Sie eine Fehlermeldung sehen können, wenn Sie Ihren Shop aufrufen möchten.

Meist liegt es daran, dass ein Plugin noch nicht mit PHP 7.2 kompatibel ist. In der Regel sind die Plugins, die zwar nicht den IonCube Loader als Verschlüsselung nutzen, aber dennoch schon einige Zeit nicht aktualisiert wurden.

Hierbei können Sie nur eines machen: die Änderungen wieder rückgängig machen und wieder die zuvor genutzte PHP-Version einstellen und anschließend das Fehler-verursachende Plugin löschen.

Sobald Sie dies getan haben, können Sie auf Ihrem Server wieder PHP 7.2 aktualisieren.

 

Unterstützung bei Umstellung auf PHP 7.2 benötigt?

Die oben genannte Anleitung war doch sehr technisch, wobei ich mich immer bemühe, diese so einfach und verständlich wie möglich zu halten. Dennoch: Technik ist eben Technik und benötigt ein gewisses Verständnis und die nötige Vorsicht.

Ich lasse Sie nicht allein:

Falls Sie also lieber auf Nummer sicher gehen wollen, unterstütze ich Sie gern mit einem Performance Check.

Mit meinem Performance Check prüfe ich die Server-seitigen Kriterien für einen schnellen Shop-Aufbau und identifiziere Schwachstellen. Dabei können Sie entscheiden, wie Sie mit den Ergebnissen umgehen: übergeben Sie die Aufgabenliste Ihrem Administrator oder lassen Sie mich die identifizierten Schwachstellen lösen?

Melden Sie sich gern bei mir. Wir finden in jedem Fall eine schnelle und zielgerichtete Lösung für Ihre Fragen.

Fragen Sie jetzt Ihr unverbindliches Kennenlerngespräch an.

6 Kommentare

  • Hallo Marcel, nachdem ich gestern ein Backup einspielen musste hat heute mit deiner Anleitung alles super geklappt. PhP-Version auf 7.2 ist umgestellt. Vielen Dank dafür! Ich hoffe das restliche Update auf 5.6.6 schaffe ich auch noch…

    Antworten
    • Vielen Dank für die lobenden Worte. Freut mich sehr, wenn dir die Anleitung geholfen hat.

      Antworten
  • Hallo, top Anleitung. Umstellung auf 7.2 hat wunderbar geklappt, nur das Update auf 5.6.4 will nicht so klappen. Es kommt immer folgende Fehlermeldung:

    Error

    Received the following error message:
    Could not apply migration (Migrations_Migration1632). Error: Undefined index: partner

    Please try to fix this error and restart the update.

    Response

    {“valid”:false,”errorMsg”:”Could not apply migration (Migrations_Migration1632). Error: Undefined index: partner “}

    Antworten
    • Vielen Dank für die lobenden Worte.
      Wegen des Updates haben Sie eben eine Mail erhalten.

      Antworten
  • Hallo Marcel,
    vielen Dank für die sensationell geschriebene Anleitung! Ich habe tagelang versucht es auf 7.2 umzustellen! tatsächlich lag es an einem alten Plugin welches noch den IonCube Loader nutze! Dank des “Checkers” konnte ich es binnen Sekunden ausfindig machen. deinstallieren und löschen! Danach direkt auf 7.2 umgestellt und siehe da! keine Error500 Seite!
    Vielen Dank!!!
    Beste Grüße
    Christian

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert