Dringend: Enlight_Controller_Exception

Hallo, ich habe heute Morgen per E-Mail plötzlich folgende Fehlermeldung erhalten: exception ‚Enlight_Controller_Exception‘ with message ‚Action „Frontend_Checkout_appAction“ not found failure‘ in /var/www/vhosts/shopdomain/httpdocs/engine/Library/Enlight/Controller/Action.php:389 Stack trace: #0 /var/www/vhosts/shopdomain/httpdocs/engine/Library/Enlight/Controller/Action.php(159): Enlight_Controller_Action->__call(‚appAction‘, Array) #1 /var/www/vhosts/shopdomain/httpdocs/engine/Library/Enlight/Controller/Action.php(159): Shopware_Proxies_ShopwareControllersFrontendCheckoutProxy->appAction() #2 /var/www/vhosts/shopdomain/httpdocs/engine/Library/Enlight/Controller/Dispatcher/Default.php(528): Enlight_Controller_Action->dispatch(‚appAction‘) #3 /var/www/vhosts/shopdomain/httpdocs/engine/Library/Enlight/Controller/Front.php(228): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #4 /var/www/vhosts/shopdomain/httpdocs/engine/Shopware/Kernel.php(141): Enlight_Controller_Front->dispatch() #5 /var/www/vhosts/shopdomain/httpdocs/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(472): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #6 /var/www/vhosts/dshopdomain/httpdocs/engine/Shopware/Components/HttpCache/AppCache.php(256): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #7 /var/www/vhosts/shopdomain/httpdocs/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(429): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #8 /var/www/vhosts/shopdomain/httpdocs/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(329): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true) #9 /var/www/vhosts/shopdomain/httpdocs/engine/Shopware/Components/HttpCache/AppCache.php(178): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true) #10 /var/www/vhosts/shopdomain/httpdocs/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(193): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true) #11 /var/www/vhosts/shopdomain/httpdocs/engine/Shopware/Components/HttpCache/AppCache.php(113): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #12 /var/www/vhosts/shopdomain/httpdocs/shopware.php(109): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #13 {main} Im Shop selbst sind keine Fehler auszumachen. Einzig das Google Analytics „Plugin“ für den Chrome-Browser funktioniert nicht mehr, was allerdings auch daran liegen könnte, dass ich gestern das E-Commerce-Tracking aktiviert habe. Ich bin gerade überfordert. Was soll ich tun? Gruss und vielen Dank, Shop1

PUSH

Das muss nicht unbedingt ein Fehler sein. So ein Fehler wird produziert, wenn man etwa folgendes eingibt: http:///checkout/app
Der Shop versucht eine appAction() Funktion im Checkout Controller zu finden, die gibt es nicht, dann wirft der Shop den o.g. Fehler.
Wie man auf die o.g. URL kommt - wüsste ich jetzt nicht. Gibt es irgendwo kaputte LInks auf der Seite? Oder hat das jemand per Hand eingegeben?

Hallo Waldi, danke für Deine Hilfe. Wie kann ich überprüfen, ob es im Shop irgendwo kaputte Link gibt? PS: Habe die gleiche Fehlermeldung exakt 10h später nochmals erhalten.

Vielleicht war ich das (ups :slight_smile: ) Um zu prüfen, ob das wirklich so ist, kannst Du einfach im Browser die o.g. URL aufrufen (statt natürlich Deine Domain). Nach dem Aufruf sollst du die gleich E-Mail bekommen.
Wie man prüfen kann, ob das durch einen Link oder durch maneulle Eingabe der URL passiert ist… Man könnte die Logdateien des Webservers prüfen. In der datei access.log (in der Regel wird dieser Name verwendet) wird zu jeder URL auch der Referer gespeichert (oder “-”, wenn es keinen gibt).

1 Like

Die Mail vom System habe ich umgehend erhalten. Ist das jetzt positiv oder negativ?^^ Auf der Seite erhalte ich die Meldung: “Ups, es ist ein Fehler aufgetreten… Wir wurden bereits informiert…” Habe die Datei gefunden, kann leider allerdings nicht sehr viel damit anfangen. Dürfte ich Dir die Datei kurz schicken?

Vielen Dank an waldicom für Deine Unterstützung. Für alle mit demselben Problem: Die Fehlermeldung ist vermutlich auf ein Skript zurückzuführen, das nach Schwierigkeiten im Shop sucht, was nicht weiter schlimm ist.

Darf ich das Thema kurz aufgreifen? Ich hatte die selbe Fehlermeldung bekommen. Wenn ich http:///checkout/app mit URL meines Shops öffne, erscheint tatsächlich die Fehlermeldung und ich erhalte eine Mail mit dem Error.

Dass das Ganze kein wirklicher Fehler ist, ist natürlich beruhigend.
Gibt es trotzdem eine Möglichkeit, die Fehlermeldung auszuschalten?
Es muss ja nicht sein, dass man ständig Fehlermeldungen per Mail bekommt…

Eine access.log konnte ich leider in den Verzeichnissen meines Shops nicht finden.

Herzlichen Dank
n.i.

Der Versand der Fehlermeldungen kann man generell im Backend ausschelten. Das kann man nicht pro Fehler machen. Im Backend unter Grundeinstellungen->System->Log zu finden.

Ich habe folgendes Event auf Enlight_Controller_Action_PreDispatch_Frontend_Detail gesetzt: /\*\* \* ... \* \* @param Enlight\_Event\_EventArgs $arguments \* \* @return array \*/ public function onDetailPreDispatch( Enlight\_Event\_EventArgs $arguments ) { // get the controller $controller = $arguments-\>getSubject(); // get the request $request = $controller-\>Request(); // valid request? if ( !in\_array( strtolower( $request-\>getActionName() ), array( "error", "index", "rating" ) ) ) { // and redirect to error $controller-\>forward( "error" ); // done return; } // and we are done return; } Ähnliches könntest du für den checkout Controller machen, um ungültige actions zu unterbinden ohne einen Fehler zu produzieren. Viele Grüße

1 Like

Hallo, entschuldigt wenn ich das Thema noch einmal öffnen muss. Jedoch habe ich eine Ähnliche Fehlermeldung entdeckt: [2015-08-21 14:16:37] core.ERROR: exception 'Enlight\_Controller\_Exception' with message 'Action "Frontend\_Forms\_shopwarePhpAction" not found failure' in /html/shopware/engine/Library/Enlight/Controller/Action.php:389 Stack trace: #0 /html/shopware/engine/Library/Enlight/Controller/Action.php(159): Enlight\_Controller\_Action-\>\_\_call('shopwarePhpActi...', Array) #1 /html/shopware/engine/Library/Enlight/Controller/Action.php(159): Shopware\_Proxies\_ShopwareControllersFrontendFormsProxy-\>shopwarePhpAction() #2 /html/shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(528): Enlight\_Controller\_Action-\>dispatch('shopwarePhpActi...') #3 /html/shopware/engine/Library/Enlight/Controller/Front.php(228): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #4 /html/shopware/engine/Shopware/Kernel.php(141): Enlight\_Controller\_Front-\>dispatch() #5 /html/shopware/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(472): Shopware\Kernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #6 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(256): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #7 /html/shopware/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(429): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #8 /html/shopware/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(329): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>fetch(Object(Symfony\Component\HttpFoundation\Request), true) #9 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(178): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>lookup(Object(Symfony\Component\HttpFoundation\Request), true) #10 /html/shopware/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(193): Shopware\Components\HttpCache\AppCache-\>lookup(Object(Symfony\Component\HttpFoundation\Request), true) #11 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(113): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #12 /html/shopware/shopware.php(109): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #13 {main} [] [] Könntet Ihr mir mit dieser weiterhelfen? Kann es daran liegen wenn Bestellungen nicht per E-Mail versandt werden?

Hi, ich vermute, du hast die Config-Option “throwExceptions” auf “true” stehen, dann wirft der Controller-Dispatcher Fehler, wenn er eine URL nicht auflösen kann. Wenn du “throwExceptions” auf “false” stellst, sollte der ganz normal umleiten. Konnte ich so nachstellen / beheben. Besten Gruß, Daniel