Im Folgenden möchte ich kurz erläutern, welche Schritte einzuleiten sind, wenn das Backend und/oder der Magento-Shop selbst nicht mehr erreichbar ist. Diese Auflistung ist also als eine kleine Notfall-Anleitung gedacht. Natürlich wird sie nicht in 100 Prozent der Fällt helfen, dennoch schaffen diese Methoden Abhilfe bei häufig auftretenden Problem (insb. bei der Installation von neuen Magento-Extensions, siehe hierfür auch Punkt 3)
- Cache leeren (auf die manuelle Art und Weise). Hierfür gibt es zwei Möglichkeiten:
– Manuelles Löschen aller Dateien und Ordner im Verzeichnis: Magento-Root/var/cache
– Kopieren des folgenden Code-Snipplets in eine php-Datei, die beispielsweise in folgendem Pfad abgelegt wird:
MagentoRoot/clearcache/clearcache.php
12345678910111213<?phprequire_once '../app/Mage.php';echo ("clear Magento-Cache ... <br>");try {$cacheTypes = Mage::app()->useCache();foreach ($cacheTypes as $type => $option) {Mage::app()->getCacheInstance()->cleanType($type);echo $type . ' Successfully Cleared ';}} catch (Exception $e) {Mage::log($e->getMessage());}?>
Dann mit dem Browser auf die Seite www.mein-magento-shop.de/clearcache/clearcache.php navigieren und schon wird der Cache geleert.
Funktioniert der Shop immer noch nicht, dann weiter mit 2. - Session-Ordner löschen: Löschen des gesamten Inhalts des Verzeichnisses: Magento-Root/var/session
Sollte das auch nicht helfen, liegt das Problem höchstwahrscheinlich an dem Compiler. - Kompilierungsmodus deaktivieren (per SSH): Leider ist dieser Schritt nur per SSH möglich. D.h. SSH muss erstens auf dem Server aktiv sein (was bei einfachem Webspace nicht immer der Fall ist). Falls dem aber sei und man sich mit SSh anmelden kann, ist folgender Schritt durchzuführen:
Compiler-Status prüfen:
1$ php -f shell/compiler.php -- state
Als Reusltat sollte dann etwas ähnlich erscheinen, wie:
1234Compiler Status: EnabledCompilation State: CompiledCollected Files Count: 5496Compiled Scopes Count: 4
Danach einfach folgendes eingeben:
1$ php -f shell/compiler.php -- disable
Falls dann folgendes erscheint, ist alles richtig gemacht worden:
1Compiler include path disabled
Dann noch alle kompilierten Dateien löschen:
1$ php -f shell/compiler.php -- clear
Und fertig:
1Compilation successfully cleared - Falls das Problem durch die vorigen Schritte nicht gelöst werden konnte und das Problem höchst-wahrscheinlich an einer Magento-Erweiterung liegt, die soeben installiert wurde, kann es sein, dass sich der Compiler und die neue Magento-Extension im Wege stehen. Hierfür sind folgende Schritte durchzuführen:4.1) Magento-Extension deinstallieren oder deaktivieren. Die Deinstallation funktioniert über: www.mein-magento-shop.de/downloader, also dort, wo die Erweiterung im Falle einer geführten Installation gestartet wurde. Zur Deaktivierung muss man ins Datei-System von Magento einsteigen. Hierfür habe ich einen separaten Blog-Post geschrieben, der hier zu lesen ist: Einfache Deaktivierung von Magento-Erweiterungen.
Nach der Deaktivierung oder der Deinstallation sollte das Backend im Normalfall wieder erreichbar sein.4.2) Compiler-Modus deaktivieren. Hierfür muss man sich wieder im Backend einloggen. Dann in System –> Werkzeuge –> Compiler –> Compiler deaktivieren. (Siehe auch folgende Screenshots)
4.3) Neu-Installation oder Aktivierung der Extension. Nun kann nach gewohnter Form die Erweiterung wieder aktiviert bzw. neu installiert werden.
4.4) Starten des Kompilierungsprozess. Dies wird wieder unter System –> Werkzeuge –> Compiler vorgenommen. Die Aktivierung des Compilers nicht vor dem Kompilierungsprozess vornehmen!
Diese Vorgehensweise sollte in den meisten Fällen helfen. Es sei außerdem an zwei Punkte zu erinnern
- Aus Performance-Sicht ist es sowieso gut, den Cache hin und wieder zu leeren. (insb. nach Veränderungen am System).
- Vor Veränderungen (und der Installation von Magento-Erweiterungen) sollte immer der Compiler deaktiviert werden.