Magento: Compiler deaktivieren, wenn das Backend nicht erreichbar ist

Geht man mit seinem neuen Webshop online, dann wird man vor allem zu Beginn viele eigene Testbestellungen machen. Leider ist es nicht so ohne weiteres möglich, diese Bestellungen in Magento auch wieder zu löschen. In zahlreichen Blogbeiträgen findet man Beschreibungen, wie man durch Eingreifen in zahlreiche Datenbanktabellen diese Bestellungen wieder los wird. Aber wie so oft, gibt es für diesen Fall auch entsprechende »Extensions« dafür, z.B. »Delete Orders« von mgt-commerce.de, die sogar kostenfrei angeboten wird.

Nachdem Download habe ich die Extension erst auf meinem Testsystem installiert: läuft einwandfrei. Im Backend kann man nun ein bis beliebig viele Bestellungen auswählen und löschen. Also rauf aufs produktive System und wie beschrieben den Cache geleert. Das war’s dann. Was auf dem Testsystem so schön auf Anhieb lief, mochte im produktiven System nun gar nicht. Während aber das Magento-Frontend anstandslos weiter lief, war das Backend nicht mehr erreichbar.

Also alles wieder rückgängig gemacht und die Dateien der Extension gelöscht, aber der Zustand blieb unverändert: kein Zugriff. Wie also wieder an das Backend herankommen? Per FTP unter »var/cache« und »var/session« die Caches geleert und ich bekam zumindest wieder die Login-Maske von Magento angezeigt. Nur nach dem Login bekam ich wieder nur die Magento-Fehlermeldung »There has been an error processing your request« angezeigt. Also erst mal die »local.xml.sample« im Verzeichnis »errors« in »local.xml« unbenannt um mir die vollständige Fehlermeldung des Systems anzeigen zu lassen. Die Fehlermeldung gab mir mit der Zeile »Mage registry key „_singleton/Modulename/observer“ already exists« immerhin einen Hinweis darauf, dass die Extension nicht vollständig entfernt war und meinen Verdacht auf die Kompilierung lenkte.

Nur wie deaktiviert man die Magento Funktion »Compilieren« wieder, wenn man nicht mehr ans Backend kommt? Dort findet sich die Funktion unter »System > Werkzeuge«. Eine erste Idee, dies direkt über die Datenbank tun zu können, zerschlug sich leider. Aber im Forum unter magentocommerce.com in Ergänzung mit untem stehenden Blogbeitrag fand ich dann die Lösung:

Im Verzeichnis »includes« findet sich die Datei »config.php«. Diese steuert den Compiler. Kommentiert man die Zeile 28 mit »define(‚COMPILER_INCLUDE_PATH‘, dirname(__FILE__).DIRECTORY_SEPARATOR.’src‘);« aus, leert nochmals manuell den Cache, lässt sich auch schon wieder das Backend von Magento aufrufen.

Aber wie kann die Extension Delete Orders dann nutzen? Alles nochmals neu installiert. Also

  • die Dateien der Extension in die entsprechenden Verzeichnisse kopiert
  • dann erst das System neu kompiliert
  • dann erst den Cache geleert
  • dann vom Abckend abmelden und wieder anmelden

Nun war nicht nur das Backend noch da, sondern auch die neue Funktion, um die lästigen Testbestellungen zu löschen. Das Ganze hat mich zwar 2 Stunden gekostet, aber dafür ist das Backend des produktiven Systems nun frei von meinen Testbstellungen.

Wer einen SSH-Zugriff auf seinen Server hat, kann den Compiler übrigens auch per Kommandozeile aktiveiren/deaktivieren. Ein BEschreibung findet sich unter: kb.magenting.com/content/24/81/en/disable-magento-compiler.html

Ähnliche Beiträge

Lesetipps zum Thema Magento(Affiliate-Links):

Trackbacks/Pingbacks

  1. Die am häufigsten aufgerufenen Blogbeiträge im März 2013 | virtual-commerce.de - [...] Magento: Compiler deaktivieren, wenn das Backend nicht erreichbar ist [...]
  2. Die am häufigsten aufgerufenen Blogbeiträge im Mai 2013 | virtual-commerce.de - [...] Magento: Compiler deaktivieren, wenn das Backend nicht erreichbar ist [...]
  3. Magento-Installation läuft nicht | virtual-commerce.de - [...] Magento: Compiler deaktivieren, wenn das Backend nicht erreichbar ist [...]
  4. Magento Produktbilder per CSV-Datei über Dataflow importieren | virtual-commerce.de - [...] Magento: Compiler deaktivieren, wenn das Backend nicht erreichbar ist [...]

Kommentar absenden

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