Update von Shopware – halten Sie Ihr Shopsystem aktuell

Regelmäßige Updates Ihres Onlineshops ist ein muss! Neue Version bringen neben dem einen oder anderem Feature die Beseitigung von Sicherheitslücken. Gerade im E-Commerce sind aktuelle und damit sicherere Systeme ein absolutes muss.

Onlineshops verursachen Wartungskosten

Ähnlich der Kosten für Reparatur und Reinigung im stationären Handel fallen für Onlineshops auch regelmäßige Kosten an.
In der Regel werden Onlineshop-Systeme stetig weiterentwickelt um sich den Veränderungen und Neuheiten am Markt anzupassen.
Wenn ich die Änderungsliste durch ein Update lese finde ich häufig die Hinweise auf die geschlossene Sicherheitslücken.
Verdient ein Unternehmen Geld mit E-Commerce sollte nicht an der falschen Stelle gespart werden und die Wartungsarbeiten zeitnah durchgeführt werden. Am Ende sind die Kosten für Wartung im Verhältnis geringer als bei einem Ausfall dieses Vertriebsweges.

Wann sollte ein Update eingespielt werden?

Im Grunde können Updates zu jeder Zeit eingespielt werden. Doch spielen dabei die Voraussetzungen an das eigenen System eine große Rolle.
In den häufigsten Fällen wird im Live-Betrieb das neue Software Update eingespielt. Diese Art des Updates ist für kleine Onlineshops bedenkenlos machbar. Sollte eine größere Anzahl Käufer vorhanden sein, wird die Tageszeit immer wichtiger. Die meisten Onlineshop Systeme haben Ihre “Kerngeschäftszeiten” von früh bis Abends. Nachts sinkt der Besucherstrom auf ein vernachlässigbares Niveau. In dieser Zeit kann ein Software Update eingespielt werden.

Bei Onlineshops die keine Unterbrechung der Besucherströme haben müssen speziellere Wege gegangen werden.

Sicher Onlineshop Updates einspielen

Software Update sind nie bedenkenlos einzuspielen. Je mehr individuelle Anpassungen vorgenommen wurde, desto höher ist die Gefahr von Fehlern während diese Vorganges. Aus diesem Grund sollten vor einem Update Datenbanken und die alten Onlineshop-Dateien gesichert werden.
Im Ernstfall kann so die alte Version wiederhergestellt werden. Ohne eine solche Sicherung kann es zu längeren Ausfallzeiten des Onlineshops kommen und bares Geld verbrennen.

Probleme bei Updates von Shopware

Ich selbst habe eine ältere Version von Shopware (4.0.5) auf die Version 4.1.0 update wollen.
Nicht immer ist ein kumulatives Update vorhanden, so dass jede einzelne Version einzeln eingespielt werden muss.
Beispielsweise müssen in meinem Fall von 4.0.5 auf 4.0.1 folgende zwischen Version eingespielt werden.

Shopware Update 4.0.5 auf 4.1

  • Shopware 4.0.5 -> 4.0.6
  • Shopware 4.0.6 -> 4.0.7
  • Shopware 4.0.7 -> 4.0.8
  • Shopware 4.0.8 -> 4.1.0

Die einzelnen Updates nach und nach einzeln einzuspielen ist sehr Zeitintensiv und kann zu Fehlern führen.
Daher empfehle ich die kleineren Software Updates Zeitnah einzuspielen.

Probleme bei Shopware Update 4.0.5 auf 4.1

Während der Entwicklung der Shopware Version 4.1 hat sich das Cache System verändert. Dadurch hat sich auch die Orderstruktur geändert. Dies kann unter Umständen zu Fehlern nach dem Update führen. Ein häufige Fehlermeldung ist:


Fatal error: Uncaught exception 'Enlight_Exception' with message 'Resource "System" not found failure' in .../shop/engine/Library/Enlight/Bootstrap.php:261 Stack trace: #0 .../shop/engine/Library/Enlight/Application.php(525): Enlight_Bootstrap->getResource('System') #1 .../shop/engine/Shopware/Plugins/Default/Core/PostFilter/Bootstrap.php(116): Enlight_Application->__call('System', Array) #2 .../shop/engine/Shopware/Plugins/Default/Core/PostFilter/Bootstrap.php(116): Shopware->System() #3 .../shop/engine/Shopware/Plugins/Default/Core/PostFilter/Bootstrap.php(158): Shopware_Plugins_Core_PostFilter_Bootstrap->initConfig() #4 [internal function]: Shopware_Plugins_Core_PostFilter_Bootstrap->rewriteSrc(Array) #5 .../shop/engine/Shopware/Plugins/Default/Core/PostFilter/Bootstrap.php(136): preg_repl in .../shop/engine/Library/Enlight/Bootstrap.php on line 261 503 Service Unavailable Fatal error: Undefined class constant 'PRIMARY_TYPE_NUM' in .../shop/engine/Library/Zend/Session/SaveHandler/DbTable.php on line 522

Im Grunde ist dies ein trivialer Fehler aber Shopware wird damit komplett lahmgelegt.

Die Lösung des Problems bei Shopware Update auf 4.1

Dieser Fehler wird durch die Umstellungen des Cache Systems hervorgerufen. Die alte Cache Dateien sind vorhanden passen aber nicht auf die neue Onlineshop Struktur von Shopware. In der Update Anleitung wird auf das Löschen von folgenden Verzeichnissen hingewiesen.

  • /cache/general
  • /cache/templates
  • /cache/doctrine/proxies
  • /cache/doctrine/attributes

In meinem Fall hat sich erst eine Fehlerbehebung nach Leerung der gesamten Cache-Struktur eingestellt.

  • /cache/database
  • /cache/doctrine/proxies
  • /cache/doctrine/attributes
  • /cache/doctrine/filecache
  • /cache/general
  • /cache/html
  • /cache/proxies
  • /cache/templates

Schreibrechte als Hürde beim Shopware Update

Die Daten im Ordner Cache werden durch Shopware erstellt um Anfragen an das Shopsystem schneller zu beantworten. Daher werden gesamte Seiten oder Teile von Shopware vorgehalten um die Geschwindigkeit zu verbessern. Möchten wir nun selbst die Cache Dateien Löschen können wir dies über das Shopware Backend machen.

In manchen Fällen, so auch bei mir, hilft diese Funktion nicht. Aus diesem Grund muss per FTP nachgeholfen werden. Der FTP Benutzer hatte jedoch nicht die nötigen Recht um die Cache Dateien zu löschen. Nachdem ich die Cache Dateien mit den richten Benutzerrechten versehen habe, konnte der Cache gelöscht und mein Problem gelöst werden.

Autor: Marcus Franke

Ich bin einer von zwei Geschäftsführern der Conversion Junkies. Zu meinen Themenschwerpunkten gehört das technische SEO, Entwicklungen im E-Commerce und Programmierung von Shopware und WordPress Plugins. Dieses Wissen gebe ich in Schulungen und Consultings gern weiter. Nutzen Sie die Kommentarfunktion für Ihre Fragen. Ich antworte darauf gern. Oder schreiben Sie mir eine E-Mail an marcus@conversion-junkies.de

Schreibe einen Kommentar

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