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
Bringt doch was
Ab Shopware 5.2 werden grundlegende PHP-Errors nicht mehr ausgegeben. Durch die Anpassung aus dem Wiki sieht man wenigstens die richtige Exception.
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