Shopware 4.3 Upgrade per automatischer Softwareaktualisierung - Bugfix: Die folgenden Verzeichnisse und Dateien sind nicht beschreibbar
Zur Installation von Shopware haben wir ja bereits in einer anderen Anleitung etwas geschrieben. Hier soll es nun um das Update auf 4.3.2 gehen, da dies einen Bug enthält, der zum problemlosen Update leider per Hand gefixt werden muss.
Beim Login in das Backend informiert dieses Benachrichtigungsfenster über das Vorhandensein einer neuen Shopware-Version.
Ein Klick auf Details öffnet das Updater-Widget. Dieses präsentiert zuerst Informationen zum Update. Hier wird auch empfohlen, vor dem Update ein Backup des Shops zu machen. Sofern Ihnen die mit ISPConfig erstellten Backups zu alt sind, sollten Sie manuell die Dateien per FTP herunterladen und in phpMyAdmin einen Dump der Datenbank erstellen.
Das Warndreieck neben Voraussetzungen zeigt Probleme an, die das Update behindern ("Die folgenden Verzeichnisse und Dateien sind nicht beschreibbar").
Das hier angegebene Problem, dass das Verzeichnis stats/ nicht beschreibbar ist, ist ein Bug. Dieses Verzeichnis gehört nicht zu Shopware, sondern zu ISPConfig, daher muss bzw. darf Shopware das auch nicht beschreiben können. Beheben kann man dies, indem man eine PHP-Datei anpasst, und bei der Verzeichnisprüfung den stats/-Ordner überspringt.
Die Datei, die angepasst werden muss, ist engine/Shopware/Plugins/Default/Backend/SwagUpdate/Components/FileSystem.php im web/-Ordner der Webseite. Einige FTP-Programme erlauben das direkte Bearbeiten von Dateien, andernfalls laden Sie diese Datei herunter, passen sie an und laden sie dann wieder hoch. Wenn Sie ein Agenturpaket oder einen Managed Server haben und für die Webseite ein Shell-Benutzer existiert, können Sie natürlich auch den verwenden.
In Zeile 62 der Datei FileSystem.php steht:
foreach (new \DirectoryIterator($directory) as $fileInfo) {
Nach dieser Zeile müssen Sie folgendes einfügen:
if (preg_match("/stats/", $fileInfo->getPathname())) continue;
und dann die Datei speichern. Das Ergebnis sollte etwa so aussehen:
Wenn Sie jetzt das Shopware-Backend neu aufrufen, ist die Meldung im Updater verschwunden.
Setzen Sie den Haken bei Ich habe ein Backup angelegt und möchte das Update durchführen. und klicken Sie auf Update starten, um den Shopware-Updater zu starten.
Der Update-Prozess beginnt dann.
Wenn das Update erfolgreich abgeschlossen wurde, erhalten Sie diese Meldung. Sie können dann, wie schon beim Installer selbst, zum Frontend oder Backend des Shops zurückkehren.