Die Ups! Ein Fehler ist aufgetreten! Fehlermeldung (2024)

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.

Die Fehlermeldung

Die Ups! Ein Fehler ist aufgetreten! Fehlermeldung (1)

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.

Die Fehlermeldung entschlüsseln

Wir schauen uns drei Möglichkeiten an wie du mit der Fehlermeldung umgehen kannst. Damit dein Shop wieder voll funktionsfähig ist.

Möglichkeit 1: config.php anpassen

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:

Die Ups! Ein Fehler ist aufgetreten! Fehlermeldung (2)

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.

Möglichkeit 2: Fehlermeldung per Mail schicken lassen

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

Die Ups! Ein Fehler ist aufgetreten! Fehlermeldung (3)

Nachdem das geklärt ist, musst du den Versand der Fehlermeldung per Mail aktivieren.

Wieder unter Einstellungen > Grundeinstellungen > System > Log > Fehler an Shopbetreiber senden

Die Ups! Ein Fehler ist aufgetreten! Fehlermeldung (4)

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.

Möglichkeit 3: Fehlermeldung in der Log Datei auslesen

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.

Abschluss

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!

Die Ups! Ein Fehler ist aufgetreten! Fehlermeldung (2024)
Top Articles
Latest Posts
Article information

Author: Roderick King

Last Updated:

Views: 6047

Rating: 4 / 5 (51 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Roderick King

Birthday: 1997-10-09

Address: 3782 Madge Knoll, East Dudley, MA 63913

Phone: +2521695290067

Job: Customer Sales Coordinator

Hobby: Gunsmithing, Embroidery, Parkour, Kitesurfing, Rock climbing, Sand art, Beekeeping

Introduction: My name is Roderick King, I am a cute, splendid, excited, perfect, gentle, funny, vivacious person who loves writing and wants to share my knowledge and understanding with you.