"503 Service Unavailable" anstelle von 404/CSRF Errors

Seit dem Update auf die neueste Version habe ich im Shop eines Kunden das Problem, dass statt der üblichen Fehlerseite bei einer nicht vorhandenen Datei/Seite lediglich „503 Service Unavailable“ angezeigt wird. Das gleiche gilt für Fehler, die durch CSRF Timeouts erzeugt werden - auch da einfach nur weiße Seite mit „503 Service Unavailable“.

Die Fehlermeldungen im Apache-Log sehen wie folgt aus (beispielhaft):

[:error] [pid 29157] [client XX.XX.XX.XXX:60909] PHP Fatal error: Uncaught exception 'Enlight_Controller_Exception' with message 'Controller "favicon.ico" not found' in /var/www/engine/Library/Enlight/Controller/Dispatcher/Default.php:486\nStack trace:\n#0 /var/www/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))\n#1 /var/www/engine/Shopware/Kernel.php(177): Enlight_Controller_Front->dispatch()\n#2 /var/www/vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\\Kernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#3 /var/www/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\\Component\\HttpKernel\\HttpCache\\HttpCache->forward(Object(Symfony\\Component\\HttpFoundation\\Request), true, NULL)\n#4 /var/www/vendor/symfony/http-kernel/HttpCache/HttpCache.php(444): Shopware\\Components\\HttpCache\\AppCache->forward(Object(Symfony\\Component\\HttpFoundation\\Request), true)\n#5 /var/www/vendor/symfony/http-ker in /var/www/engine/Library/Enlight/Controller/Dispatcher/Default.php on line 486

 

Lass dir erstmal die richtige Fehlermeldung ausgeben: http://community.shopware.com/Fehlermeldungen-in-Shopware-debuggen_detail_1880.html#Frontend_Error_Reporter

Bringt nichts, da das Script schon zu crashen scheint, bevor Shopware eingreift - dementsprechend loggt er auch im Apache und nicht im Shopware-log :) 

Bringt doch was :wink:
Ab Shopware 5.2 werden grundlegende PHP-Errors nicht mehr ausgegeben. Durch die Anpassung aus dem Wiki sieht man wenigstens die richtige Exception.

Ja, dass er die exakte Fehlermeldung auch im Browser anzeigt und nicht nur in den Apache-Logs :P 

Fatal error: Uncaught exception 'Enlight_Controller_Exception' with message 'Controller "favicon.ico" not found' in /var/www/engine/Library/Enlight/Controller/Dispatcher/Default.php:486 Stack trace: #0 /var/www/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #1 /var/www/engine/Shopware/Kernel.php(177): Enlight_Controller_Front->dispatch() #2 /var/www/vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #3 /var/www/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #4 /var/www/vendor/symfony/http-kernel/HttpCache/HttpCache.php(444): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #5 /var/www/vendor/symfony/http-ker in /var/www/engine/Library/Enlight/Controller/Dispatcher/Default.php on line 486

Same as before.

Wenn du /favicon.ico aufrufst, ist der Fehler doch in Ordnung.
Aber ich glaube nicht, dass das die passende Fehlermeldung ist. Leg doch im Hauptverzeichnis einfach mal so eine Datei ab - was passiert dann?

Dann wird die Datei angezeigt - allerdings habe ich es jetzt gelöst.

Mein Problem war, dass eine 503 Fehlermeldung bei 404-Errors geworfen wurde, anstatt dass wie in Shopware sonst üblich eine eigene 404 erschien oder einfach auf die Homepage weitergeleitet ist. Das gleiche galt bei abgelaufenen CSRF-Tokens - anstelle der Shopware-Fehlerseite wurde die 504 Service Unavailable Meldung gezeigt.

Auslöser des ganzen war die Option throwExceptions, die aktiv war  Kiss