bg a 3

T Blog

Contao: strukturierte Fehlersuche

P von kikmedia

Kein Programm ist fehlerfrei. Und schon gar kein PHP-Script.

Das ist die schlechte Nachricht. Die Gute: mit strukturierten Vorgehen lassen sich die allermeisten Probleme lösen.

Eine Standardfehlermeldung von Contao

Dazu gehört vor allem, Fehlermeldungen auch zu lesen. Denn im Gegensatz zur landläufigen Meinung sind diese Meldungen oft nützlich. Beipielsweise sei oben gezeigte Contao-Meldung genannt - sie liefert die Anleitung in drei Schritten nämlich gleich mit.

Schritt 1 der drei Vorschläge überspringen wir jetzt mal - reine User sollten wirklich dem Administrator oder der Adminstratorin Bescheid geben. Aber schon Schritt 2 weist auf wichtige Lösungsansätze hin: "Lies das Serverlog!" Dort steht nämlich eventuell vermerkt, bei welchem Funktionsaufruf es zu einem Fehler kam. Mit ein wenig Phantasie und technischem Gespür lassen sich wertvolle Hinweise erhaschen - ggf. ein Modulname im Klartext.

Vielleicht hat ja die letzte installierte Extension damit zu tun? Man kann's ja mal ausprobieren, sie in der Erweiterungsverwaltung zu deaktivieren. Läuft danach alles wie gewünscht, dann haben wir den Übeltäter schon gefunden.

Und bevor jetzt jemand fragt "Welches Logfile?" - es gibt mehrere Orte, an denen sich eine Suche lohnt. Das Contao-eigene Fehlerprotokoll findet sich im Contao-Ordner /system/logs und hört auf den Namen 'error.log'.

Jeder Webserver führt ebenfalls noch Protokoll darüber, was an einen miesen Tag alles schiefgehen kann - diese Logs lassen sich (abhängig vom Provider) bei ebendiesem einsehen oder anfordern. Dann muss man dort anfragen, nachdem man sich in der Supportdatenbank des Providers über die Möglichkeiten informiert hat.

Schritt 3 schaltet die direkte Fehlerausgabe in Contao ein - und direkte Eingabe von

$GLOBALS['TL_CONFIG'] ['display_errors'] = true;

in die Datei /system/config/localconfig.php ist dazu eine Möglichkeit. Eine andere ist es, unter 'System' -> 'Einstellungen' -> 'Sicherheitseinstellungen' den Punkt 'Fehlermeldungen anzeigen' zu aktivieren.

Dann sollte Contao in den allermeisten Fällen ebenfalls Meldungen auf dem Bildschirm ausgeben, die normalerweise im error.log landen.

Contao ab Version 2.11 bietet übrigens eine sehr schöne Einstellungsmöglichkeit dazu an. War es früher nur möglich, die Fehlerausgabe global zu verbieten oder zu erlauben (womit man sich dann etwas einhandelte, das auch unter 'Full disclosure' bekannt ist und dritten im Fall der Fälle die Kenntnis aller Serverpfade ermöglichte) kann Conto jetzt die Fehlerausgabe auf dem Screen unterdrücken, die Daten aber trotzdem ins Logfile schreiben.

Zurück

Einen Kommentar schreiben