Shopware 5: Wie kann ich den Cache manuell leeren? 

Cache leeren ohne Backend? So funktioniert es bei Shopware 5
Sie sind Betreiber eines Shopware Shops? Dann haben Sie mit Sicherheit schon mal ein Plugin aus dem Community Store installiert oder sogar die ein oder andere Änderung am Template vorgenommen. Damit diese Aktionen auch in Effekt treten ist es oft nötig den Cache zu leeren. Eine Aufgabe, die zum Grundrepertoire eines jeden Shopbetreibers gehören sollte. Daher lässt sich diese Funktion in Shopware bequem über das Backend ausführen.

Doch was machen Sie, wenn sich das Backend nicht aufrufen lässt? In diesem Fall kann das manuelle Leeren des Caches oft Abhilfe schaffen.
In diesem Beitrag möchte ich Ihnen zeigen, wie Sie den Cache manuell über ihr FTP-Programm leeren können.

Cache über FTP leeren
Der Cache befindet sich im Verzeichnis: „/var/cache“ 

In diesem finden Sie unter Umständen mehrere production-Ordner.

Diese Ordner, sowie deren Verzeichnisstruktur dürfen Sie auf keinen Fall löschen!!! Stattdessen müssen Sie die Ordnerinhalte löschen.                Konkret bedeutet das, dass Sie die Inhalte in den folgenden Ordnern betroffen sind:

cache/doctrine/proxies/
cache/doctrine/attributes/
cache/proxies/

Innerhalb dieser Ordner müssen Sie die einzelnen Dateien löschen.

 

In folgenden Verzeichnissen dürfen Sie die Ordner löschen:

cache/templates/backend
cache/templates/frontend
cache/html
cache/general

 

In jedem Fall ist es ratsam sich vorher ein Backup des production-Ordners anzulegen, welches Sie notfalls wieder einspielen können, wenn etwas schiefgeht. Nach dem manuellen Leeren des Caches sollte ihr Shopware-Backend wieder erreichbar sein.

Sollte dies nicht der Fall sein, könnte ein komplizierteres Problem vorliegen, welches Sie eventuell an einen externen Dienstleister abgeben sollten.

Alexander Goll
Alexander Goll

13 Kommentare zu „Shopware 5: Wie kann ich den Cache manuell leeren?“

  1. Hallo,

    Danke für diesen Beitrag. Ich habe nämlich lange nach einer detaillierten Beschreibung zum manuellen Löschen des Cache gesucht und hier gefunden. Im ShopWare Forum zwar auch, aber die vergessen oft mal Sachen zu erwähnen die eigentlich wichtig sind. Zum Beispiel nem Laien zu sagen: Lösch einfach den Cache dann funktionierts. Man kann nem normalen Shopbetreiber nicht immer sagen, das er das Template im HTML Editor editieren soll, was zu fatalen Problemen führen kann. Aus Entwickler Sicht natürlich OK, aber nicht jeder bringt das wissen mit, deswegen bin ich immer dankbar für Artikel die auf dem Punkt kommen, wie dieser zum Beispiel.

    In diesem Sinne!

    MIt freundlichsten Grüßen

    Matthias

  2. Ich kann das auch nur bestätigen. Ich bin Entwickler aber auch als Entwickler sucht man bei Shopware gerne mal nach solchen Beiträgen. weil man schon ziemlich alleine gelassen wird. Das Shopware Forum hat mir bisher nur selten helfen können.
    Danke also für diesen Beitrag.

    Ich habe allerdings, wenn gar nichts mehr geht den Produktion_xxxx Ordner einfach umbenannt (nen Unterstrich davor oder so ähnlich) und das hat mir auch schon oft geholfen da Shopware diesen Produktion Ordner dann neu anlegt. Aber da weiß man nachher nicht wo evtl. was verloren gegangen ist.

    Ebenso im Dunkel tappt man übrigens bei den Ordnern im Verzeichnis ‚files‘. Was darf man löschen und was nicht…

  3. Endlich mal einfach (und vor allem bebildert) dargestellt. Super!
    Wo liegt eigentlich der Vorteil des manuellen Cache löschens? Ich mein, man kann das meiste ja auch übers backend machen oder?

    1. Hi Jonas,

      in manchen Fällen besteht die Möglichkeit leider nicht mehr. Wenn das Backend z.B. nicht mehr aufrufbar ist. Das kann dann unter anderem an einer korrupten Cache Datei liegen.

      VG,
      Robert

  4. Jonaaaaaaaas!

    Granatenartiger Bomben-Artikel der mir nach ein paar Stunden Sucherei mein Gehirn gerettet hat. Ich hatte vorher versucht mit diesen Shopware CLI Konsolen-Befehlen den Cache zu löschen, aber da wird wieder scheinbar irgendein anderer Cache gelöscht.

    Hatte das Problem, dass mir nach einem Seiten-Umzug das Backend nicht angezeigt wurde. Stattdessen nur ein HTTP 500 Error. Jetzt ist es wieder da, nachdem ich den cache/templates/backend Ordner geleert hatte.

    Also Danke nochmal!

  5. Hi,
    Wie im ersten Bild zu sehen ist liegt im Ordner var/cache eine Datei clear_chache.sh. Ich bin davon ausgehagen das die den cache löscht und neu aufbaut. Stimmt das nicht?
    Aufrufen und gut ist?

    lg

    1. Hallo,

      stimmt, diese Datei liegt im Cache-Verzeichnis.
      Allerdings handelt es sich dabei um ein Shell-Script, bei denen man nicht immer Ausführungsrechte hat.
      Wenn du über SSH drauf kommst, kannst du dieses Script ausführen um den Cache zu leeren, oder alternativ die Shopware CLI benutzen und den Befehl „php bin/console sw:cache:clear“ ausführen.

  6. Hi,

    ich habe mein Shop fast fertig gebaut und gestern Nacht dachte ich mir ich entleere mal die Caches und da ist jetzt der Shop Offline aufeinmal es kommt nur ein weisses Bild.
    Habe kein Ahnung mehr wie ich fortgehen soll.

    Kann mir einer helfen ?

  7. Seit Kurzem habe ich das Problem, dass Cache entleeren über das Backend nicht mehr funktioniert.

    Für dringende Updates brauchte ich eine kurzfristige Lösung, die ich nun dank Dir gefunden habe! 😀

    Vielen Dank Alexander

    LG Marcus

  8. Hallo Alexander!

    Zunächst mal danke für den informativen Artikel!

    Ich habe dazu zwei Fragen:
    Warum müssen die Ordner erhalten bleiben?
    Was passiert denn schlimmes, wenn man die kompletten Ordner weglöscht?

    Gruß Sven

  9. Der den Cache löschte

    Hier mal ein Tipp, von einem der den production Ordner komplett löschte, bevor er diesen Beitrag las… 😉

    Vorweg- das löschen des production Ordners ist nicht der Untergang, auch ein Backup brauch man in dem Fall nicht zwingend obgleich das freilich mehr als ratsam ist, aber was wenn auch dieses defekt ist?

    Ich tat folgendes (Shopware 5): per SSH auf den Server zum Document root des Shops gehen und dann folgende cli-Befehele
    1. „php bin/console sw:theme:cache:generate“
    2. „php bin/console sw:warm:http:cache“

    Wenn er dann zwischendurch meckert, dass bestimmte Ordner fehlen, dann diese neu anlegen und den/die cli-Befehl/e erneut laufen lassen.
    Danach war sowohl der Shop als auch das Backend wieder komplett da. Allerdings – den Nervenkitzel brauch ich kein 2. mal. 😉

Kommentar verfassen

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

Zur Werkzeugleiste springen