Diese Fehlermeldung ist uns leider sehr bekannt.
Ups! Ein Fehler ist aufgetreten!
Wir wurden bereits über das Problem informiert und arbeiten an einer Lösung, bitte versuchen Sie es in Kürze erneut.
Meistens treten die Fehler genau dann auf, wenn du sowieso keine Zeit hast.
Zum Beispiel um 23:00, wenn man kurz noch eine kleine wichtige Änderung gemacht hat.
Wenn du nicht die halbe Nacht damit verbringen willst den Fehler zu raten, zeigen wir dir wie du die echte Fehlermeldung auslesen kannst.
Ups!
Diese vier Zeichen können einen Shopbetreiber gerne mal in den Wahnsinn treiben.
Doch, diese Fehlermeldung hat auch viel positives.
Immer dann wenn wir etwas falsch gemacht haben, wird die Fehlermeldung angezeigt. Manchmal bist du es nicht direkt gewesen, sondern ein Plugin oder ein Kunde hat etwas falsch gemacht.
So wird der Kunde über einen Fehler informiert, jedoch weiß er nicht um welchen es sich handelt. Wer möchte seinen Kunden schon genau zeigen warum es der Fehler aufgetreten ist?
Sie dient auch als Schutz vor böswilligen Computerspezialisten die versuchen könnten Informationen aus der Fehlermeldung zu ziehen und so unbefugt in den Shop eindringen.
Nichtsdestotrotz bringt uns die Fehlermeldung nicht viel wenn wir den Fehler schnell und einfach lösen wollen.
Aber es gibt mehrere Möglichkeiten die Fehlermeldung besser zu verstehen und das Problem zu finden.
Wir schauen uns drei Möglichkeiten an wie du mit der Fehlermeldung umgehen kannst. Damit dein Shop wieder voll funktionsfähig ist.
In der config.php wird unsere Konfiguration für den Shop gespeichert. In den meisten Fällen stehen dort nur die Zugangsdaten zur Datenbank. Der Rest wird von Shopware standardmäßig gesetzt.
Diese Standardeinstellungen können wir überschreiben.
Achtung: Die Debug Einstellungen sollten nur temporär für die Fehlersuche gesetzt werden. Sobald der Fehler behoben ist, sollten die Einstellungen wieder entfernt werden, damit der Kunde nicht die detaillierten Fehlermeldungen zu Gesicht bekommt.
Du musst die config.php Datei (auf der obersten Ebene) öffnen und folgenden Code ergänzen:
'front' => [
'showException' => true,
'throwExceptions' => true,
'noErrorHandler' => false,
],
//Zeige Low-Level PHP-Fehler
'phpsettings' => [
'display_errors' => 1,
],
// Template-Cache
'template' => [
'forceCompile' => true,
],
// Backend-Cache
'cache' => [
'backend' => 'Black-Hole',
'backendOptions' => [],
'frontendOptions' => [
'write_control' => false
],
],
// Http-Cache
'httpCache' => [
'enabled' => true, // true or false
'debug' => true,
],
Im Prinzip reichen Zeilen 8-10 aus um den Fehler detaillierter anzuzeigen. Aber mit den anderen Einstellungen schalten wir den Cache erstmal ab und sagen dem Theme, dass es bei jedem Aufruf kompiliert werden soll.
So sieht unsere ganze config.php aus:
<?php return array (
'db' =>
array (
'host' => 'localhost',
'port' => '3306',
'username' => 'xxxx',
'password' => 'xxxx',
'dbname' => 'meinshop.local',
),
'front' => [
'showException' => true,
'throwExceptions' => true,
'noErrorHandler' => false,
],
//Zeige Low-Level PHP-Fehler
'phpsettings' => [
'display_errors' => 1,
],
// Template-Cache
'template' => [
'forceCompile' => true,
],
// Backend-Cache
'cache' => [
'backend' => 'Black-Hole',
'backendOptions' => [],
'frontendOptions' => [
'write_control' => false
],
],
// Http-Cache
'httpCache' => [
'enabled' => true, // true or false
'debug' => true,
],
);
Speichern, Cache leeren und die Seite neuladen!
Wenn du alles richtig gemacht hast, solltest du jetzt eine detaillierte Fehlermeldung sehen:
Jetzt siehst du ganz genau in welcher Datei sich der Fehler befindet. Ich habe aus Versehen den schließenden Tag ({/block}) des Blocks vergessen.
Nachdem du den Fehler behoben hast, solltest du auf jeden Fall die Debug Einstellungen wieder aus der config.php rausnehmen.
Die nächste Möglichkeit lässt im Verborgenen nach dem Fehler suchen ohne, dass im Frontend sichtbar wird wo der Fehler ist. Dazu musst du auch nichts im Code anpassen.
Es reicht wenn du im Backend die passende Einstellung vornimmst.
Dazu musst zunächst sicherstellen, dass deine E-Mail Adresse in den Stammdaten des Shops hinterlegt ist. Da werden die Fehlermeldungen hingeschickt!
Das kannst du unter Einstellungen > Grundeinstellungen > Shopeinstellungen > Stammdaten > Shopbetreiber E-Mail
Nachdem das geklärt ist, musst du den Versand der Fehlermeldung per Mail aktivieren.
Wieder unter Einstellungen > Grundeinstellungen > System > Log > Fehler an Shopbetreiber senden
Wenn du die Checkbox auf Ja setzt und speicherst ist alles erledigt.
Zum Schluss nochmal den Cache leeren und die Seite neuladen im Frontend (mit dem Fehler) und du solltest eine Email mit der detaillierten Fehlermeldung und weiteren Informationen erhalten.
So kannst du den Fehler schnell beheben und niemand bekommt es mit.
Für den Fall, dass du einem Entwickler (oder anderen Menschen) Zugang zu den Fehlern ermöglichen willst, kannst du dir die Log Dateien anschauen.
Die Log Dateien finden wir im Ordner /var/log/. Diese werden pro Tag einzeln angelegt. Sogar einige Plugins speichern ihre Fehler in diesem Log Ordner. Daher lohnt sich auch bei Plugin Fehlern ein Blick in den Ordner.
In den Log Dateien werden die Fehler gespeichert, wenn die config.php Datei nicht wie in Möglichkeit 1 angepasst wurde.
Unser Fehler den wir weiter oben debuggt haben würde dann so aussehen:
[2016-10-10 11:06:18] core.ERROR: exception 'SmartyCompilerException' with message 'Syntax Error in template "/Users/XXX/Projects/meinshop.local/themes/Frontend/MeinTheme/frontend/detail/index.tpl" on line 3 "{block name='frontend_detail_data_attributes_attr1'}" unmatched {block} {/block} pairs' in /Users/XXX/Projects/meinshop.local/engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php:657 Stack trace:
#0 /Users/XXX/Projects/meinshop.local/engine/Library/Smarty/sysplugins/smarty_internal_compile_extends.php(88): Smarty_Internal_TemplateCompilerBase->trigger_template_error('unmatched {bloc...')
#1 /Users/XXX/Projects/meinshop.local/engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(475): Smarty_Internal_Compile_Extends->compile(Array, Object(Smarty_Internal_SmartyTemplateCompiler), Array, NULL, NULL)
#2 /Users/XXX/Projects/meinshop.local/engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(249): Smarty_Internal_TemplateCompilerBase->callTagCompiler('extends', Array, Array)
#3 /Users/XXX/Projects/meinshop.local/engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(2388): Smarty_Internal_TemplateCompilerBase->compileTag('extends', Array)
#4 /Users/XXX/Projects/meinshop.local/engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3101): Smarty_Internal_Templateparser->yy_r36()
#5 /Users/XXX/Projects/meinshop.local/engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3201): Smarty_Internal_Templateparser->yy_reduce(36)
#6 /Users/XXX/Projects/meinshop.local/engine/Library/Smarty/sysplugins/smarty_internal_smartytemplatecompiler.php(105): Smarty_Internal_Templateparser->doParse(10, '\n\n')
#7 /Users/XXX/Projects/meinshop.local/engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(192): Smarty_Internal_SmartyTemplateCompiler->doCompile('{extends file='...')
#8 /Users/XXX/Projects/meinshop.local/engine/Library/Smarty/sysplugins/smarty_internal_template.php(187): Smarty_Internal_TemplateCompilerBase->compileTemplate(Object(Enlight_Template_Default))
#9 /Users/XXX/Projects/meinshop.local/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(155): Smarty_Internal_Template->compileTemplateSource()
#10 /Users/XXX/Projects/meinshop.local/engine/Library/Enlight/View/Default.php(274): Smarty_Internal_TemplateBase->fetch()
#11 /Users/XXX/Projects/meinshop.local/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(216): Enlight_View_Default->render(Object(Enlight_Template_Default))
#12 /Users/XXX/Projects/meinshop.local/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(242): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->renderTemplate(Object(Enlight_Template_Default))
#13 /Users/XXX/Projects/meinshop.local/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->render()
#14 [internal function]: Enlight_Controller_Plugins_ViewRenderer_Bootstrap->onPostDispatch(Object(Enlight_Controller_ActionEventArgs))
#15 /Users/XXX/Projects/meinshop.local/engine/Library/Enlight/Event/Handler/Default.php(91): call_user_func(Array, Object(Enlight_Controller_ActionEventArgs))
#16 /Users/XXX/Projects/meinshop.local/engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#17 /Users/XXX/Projects/meinshop.local/engine/Library/Enlight/Controller/Action.php(202): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))
#18 /Users/XXX/Projects/meinshop.local/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('indexAction')
#19 /Users/XXX/Projects/meinshop.local/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#20 /Users/XXX/Projects/meinshop.local/engine/Shopware/Kernel.php(177): Enlight_Controller_Front->dispatch()
#21 /Users/XXX/Projects/meinshop.local/vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#22 /Users/XXX/Projects/meinshop.local/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#23 /Users/XXX/Projects/meinshop.local/vendor/symfony/http-kernel/HttpCache/HttpCache.php(444): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#24 /Users/XXX/Projects/meinshop.local/vendor/symfony/http-kernel/HttpCache/HttpCache.php(344): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true)
#25 /Users/XXX/Projects/meinshop.local/engine/Shopware/Components/HttpCache/AppCache.php(178): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#26 /Users/XXX/Projects/meinshop.local/vendor/symfony/http-kernel/HttpCache/HttpCache.php(210): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#27 /Users/XXX/Projects/meinshop.local/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#28 /Users/XXX/Projects/meinshop.local/shopware.php(113): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#29 {main} [] {"uid":"0f7474e"}
Auch hier lässt sich sehr gut erkennen in welcher Datei es zum Problem kommt. Sogar was der Grund dafür ist.
Mit diesen Möglichkeiten bist du gewappnet dich mit jeder neuen Ups! Fehlermeldung anzulegen und sie zu bezwingen.
Wir wünschen dir viel Spaß und Erfolg bei der Fehlersuche.
Happy Debugging!
Unsere Standorte
Zentrale
Technologiepark 23
33100 Paderborn
Leipzig
Bernhardstraße 34
04315 Leipzig
Kontakt
E-Mail: support@8mylez.com
Telefon: +49 (0) 5251 284 710
Shopware Dienstleistungen
Über 8mylez
✓ 38 Mitarbeiter
✓ Shopware Gold Partner
✓ 40.000+ Plugin Downloads
✓ 160+ betreute Shops
✓ Full-Service Shopware Agentur
✓ 70 Shopware Videos auf Youtube
✓ Alle Shopware Zertifizierungen
Social
Peer
Atilla Boz
Du hast mich wieder auf die Spur gebracht. Da kam tatsächlich dieser Fehler - ich also wieder mal hier gelandet und denke mir - mal sehen was die vorschlagen. Wohlgemerkt nach 26 Std. am Rechner - gähn. ^^
Dann wollte ich die config.php so anpassen, dass man die Fehler angezeigt bekommt (mach ich viel zu selten) was nach dem Shop Cache löschen nicht wollte. Also erstmal aufgeregt. Dann nochmal abgeregt und einfach auch den Browser Cache gelöscht - der Fehler wurde immer noch nicht angezeigt. Dafür aber die Seite, so wie sie es sollte.
Ich wünsch dir was!
Ein Shopware Enthusiast ;)
Alexander Wolf
freut mich sehr, dass wir hilfreich sein konnten :)
Gruß
Alexander
Martin
Ich habe folgendes Problem !!
Ich bin gerade dabei den shop aufzubauen !
wenn ich eine Test Bestellung durchführe kommt folgendes .
Ich gehe auf die Seite suche mir das testprodukt aus lege es in den Warenkorb
Regestriere mich , wähle Vorkasse aus und Standard Versand und klicke auf weiter nun kommt die schöne ups meldung . Das ist an dieser Stelle im Prozess sehr schlecht !
Die Message sieht wie folgt aus.
Shopware\Components\CSRFTokenValidationException: The provided X-CSRF-Token for path "/checkout/saveShippingPayment/sTarget/checkout/sTargetAction/index" is invalid. Please go back, reload the page and try again. in /html/shopware/engine/Shopware/Components/CSRFTokenValidator.php:151
Stack trace:
#0 /html/shopware/engine/Library/Enlight/Event/Handler/Default.php(91): Shopware\Components\CSRFTokenValidator->checkFrontendTokenValidation(Object(Enlight_Controller_ActionEventArgs))
#1 /html/shopware/engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#2 /html/shopware/engine/Library/Enlight/Controller/Action.php(141): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))
#3 /html/shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('saveShippingPay...')
#4 /html/shopware/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#5 /html/shopware/engine/Shopware/Kernel.php(180): Enlight_Controller_Front->dispatch()
#6 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(491): Shopware\Kernel->handle(Object(Enlight_Controller_Request_RequestHttp), 1, true)
#7 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#8 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#9 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(275): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#10 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(133): Symfony\Component\HttpKernel\HttpCache\HttpCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#11 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(206): Shopware\Components\HttpCache\AppCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#12 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#13 /html/shopware/shopware.php(117): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#14 {main}
Und ich habe keinen Plan. wie ich da durchblicken soll bin in der Sache echt Anfänger.
Ich würde mich freuen wenn du mir Helfen kannst irgendwie.
Alexander Wolf
manchmal kannst du das Problem lösen indem du den Browser Cache leerst. Der CSRF-Token Fehler kann mehrere Ursprünge haben.
Prüfe deine Plugins und deinen Browser Cache. Sollte das nicht helfen, kann ich dir empfehlen unser kleines Support Ticket zu buchen: https://store.8mylez.com/support-ticket-4h?c=11
Dann können wir uns das genauer anschauen!
In den meisten Fällen reicht es aus wenn du den Browser Cache leerst. Du könntest die CSRF Token Überprüfung abschalten, wovon ich dir aber stark abraten würde. Mehr Infos findest du auch in der Shopware Dokumentation: https://developers.shopware.com/developers-guide/csrf-protection/
Gruß
Alexander
Individuelle 404 Fehlerseite - 8mylez.com
You
Alexander Wolf
das ist richtig. Manchmal sind es nur Kleinigkeiten die falsch gemacht werden. Das ist die Suche nicht immer einfach.
Gruß
Alexander
Shoppi
Alexander Wolf
das stimmt! Das Fehlermanagement im Allgemeinen ist noch sehr Entwicklerlastig. Ich denke das wird sich mit der Zeit verbessern.
Der Optimalfall wäre wenn solche Fehler vor der Entstehung unterbunden werden und somit gar nicht auftreten.
Gruß
Alexander
Was denkst du?