Debug-Modus
Während der Entwicklung der Web-Applikation kann es hilfreich sein, den sogenannten »Debug-Modus« (auch Entwickler Modus oder Entwickler Umgebung genannt) zu aktivieren. Damit kann zum Beispiel folgendes erreicht werden:
- Der Stack Trace von Fehlern wird ausgegeben.
- Der Seitencache wird nicht benutzt.
- Der Symfony Profiler und die Toolbar sind verfügbar.
- CSS und JavaScript Assets werden nicht kombiniert.
- Template Namen werden im HTML Quellcode als Kommentare ausgegeben.
Zugriff auf den Debug-Modus
Der Debug-Modus wird entweder über eine Umgebungsvariable oder ein spezielles Cookie aktiviert.
Umgebungsvariable
Die Umgebungsvariable, die den Debug-Modus steuert, heißt APP_ENV und der Inhalt
dieser Variable muss dev lauten, damit der Debug-Modus aktiviert ist. Diese Umgebungsvariable
könnte z. B. global im System gesetzt sein oder direkt im Web Server der jeweiligen
Web-Applikation. Eine weitere Möglichkeit ist, diese Umgebungsvariable über eine
.env Datei im Wurzelverzeichnis des Projektes zu setzen. Der Inhalt dieser Datei
muss dann so aussehen:
APP_ENV=devEs ist auch möglich, eine (initial) leere .env Datei anzulegen und daneben eine
.env.local mit dem erwähnten Inhalt. Normalerweise würde man dann die .env Datei
in das Git Repository des jeweiligen Projektes committen, während man die .env.local
jedoch ignorieren lässt.
Warnung
Diese Datei auf keinen Fall auf den Live Server kopieren! Das würde ein großes Sicherheitsrisiko darstellen.
Anmerkung
Auf gleichem Weg können weitere Umgebungsvariablen gesetzt werden. Eine Beschreibung der Variablen findet sich in der Entwicklerdokumentation.
Backend Einstellung
Der Debug-Modus kann von Administratoren auch über das Contao Backend aktiviert werden. Dazu befindet sich ein Button gleich neben dem Vorschau Button. Dieser Button setzt dann ein spezielles Cookie, welches den Debug-Modus nur für den aktuellen Benutzer aktiviert.
Anmerkung
Der Button wird nur angezeigt, wenn du keine App Umgebung in deiner .env Datei definiert hast.
Contao Manager
Der Debug-Modus kann außerdem über den Contao Manager aktiviert werden. Dazu befindet sich in der Systemwartung Sektion unter Debug-Modus eine entsprechende Schaltfläche.
Nach dem Klick auf Aktivieren setzt auch hier der Contao Manager ein spezielles Cookie, welches den Debug-Modus für den aktuellen Benutzer aktiviert. Das Cookie gilt für die Domain, unter welcher man den Contao Manager gestartet hat, d. h. im Multidomain-Betrieb muss der Contao Manager mit der Domain gestartet werden, für die der Debug-Modus eingeschaltet werden soll.
Symfony Profiler
Der Symfony Profiler und die Toolbar geben detaillierte Informationen über die Ausführung jeder Server-Anfrage. Die Toolbar erscheint am unteren Rand des Browser-Fensters, wenn der Debug-Modus aktiv ist. Sie kann über das Symfony Logo geschlossen und geöffnet werden.
Unter den Informationen, die abgefragt werden können befindet sich zum Beispiel:
- Symfony, Contao & PHP Version
- Zusammengefasste Debug Ausgaben des
VarDumper(dump()) - Speicherauslastung
- Datenbank Abfragezeiten
- Informationen über den gerade eingeloggten Benutzer
- Fehler, Warnungen und Deprecations
Stack Trace
Wenn ein Fehler auftritt, wird dieser im var/logs Verzeichnis festgehalten. Um
die Ursache des Fehlers zu finden, kann es jedoch hilfreich sein den kompletten Stack
Trace der Fehlermeldung zu bekommen. Mit aktivem Debug-Modus kann man den Fehler
nochmals reproduzieren und bekommt dann direkt im Browser Fenster den Stack Trace.
Dieser ist dann auch im Symfony Profiler abrufbar.

