Debug-Modus in Contao 4
von Marco Simbürger
In Contao 4 kann der Debug-Modus nicht mehr im Contao-Backend aktiviert werden. Contao 4 basiert neu auf Symfony und verwendet auch die Dev-Umgebung (Development-Environment) von Symfony.
Die Website wird auch in Contao 4 normal aufgerufen. Z.B.: http://www.marcosimbuerger.ch
Im Hintergrund passiert dabei eigentlich nichts anderes, als dass die app.php Datei aus dem Ordner /web aufgerufen wird.
Im selben Ordner gibt es auch eine Datei app_dev.php. Mit dieser Datei kann man die Website im Dev-Modus öffnen. Dazu ruft man explizit diese Datei auf. Also z.B. http://www.marcosimbuerger.ch/app_dev.php
Der Zugriff auf die app_dev.php ist aber nur von lokal (localhost) oder mit einem Login erlaubt. Um einen Login einzurichten, die Datei app_dev.php öffnen und einen Access-Key hinzufügen. Der Access-Key ist ein SHA512-Key, der aus Username und Passwort generiert wird. Username und Passwort müssen mit einem Doppelpunkt getrennt werden. (Bsp.: marco:contao)
Den SHA512-Key kann man z.B. auf www.hashgenerator.de erstellen.
Ein Beispiel:
marco:contao
12afc4292c2a0e9724b973576904e193ae0ffade0559f18db8f0bb62e8610f6ccad4cfbfce7dd64e87bc9d1aa0f8119f91e9d6aa0acec57628a993baff6a8d9f
Den generierten SHA512-Key dann in der app_dev.php der bereits vorhandenen Variable $accessKey zuweisen.
Nachtrag
In neuen Contao 4 Versionen wird der Access-Key in einer .env Umgebungsvariable gespeichert. Um den Hash zu generieren, gibt es einen Befehl für die Contao-Console:
$ vendor/bin/contao-console contao:install-web-dir -p
$ Please enter a username:marco
$ Please enter a password:
Added the web/app.php file.
Added the web/app_dev.php file.
Der generierte Hash wird dann in der .env Datei abgelegt.
Anschliessend die Url aufrufen und die Logindaten eingeben. Danach wird die Website im Debug-Modus geladen.
Dump() Funktion
Die Funktion dump() wird in Contao 4 auf das Symfony Debug-Bundle gemappt. Dies Ausgabe wird direkt in den Web-Profiler (die Symfony Web-Debug-Toolbar) gesendet und dort schön verschachtelt dargestellt.
Die Funktion ist aber nur vorhanden, wenn man sich im Debug-Modus befindet!
Kommentare
Kommentar von Daniel |
Vielen, vielen Dank für diese Anleitung!!!
Kommentar von Kim |
Danke für diese Anleitung!
Ich hänge an etwas ziemlich lächerlichem...: "Den generierten SHA512-Key dann in der app_dev.php der bereits vorhandenen Variable $accessKey zuweisen."
Wie genau mach ich das bzw. sieht das dann aus?
Im File steht nämlich "Use the "contao:install-web-dir" console command to set a password for the dev entry point.", wenn ich diesen Befehl allerdings ausführe, heißt es:
p***:/home/www/p***/html/kunde/contao/web > /usr/local/bin/php_cli contao:install-web-dir
Could not open input file: contao:install-web-dir
Antwort von Marco Simbürger
Hallo Kim
In neueren Contao 4 Versionen wird der Access-Key in einer .env Umgebungsvariable gespeichert. Dieser Hash kann via die Contao Console generiert werden.
Also folgendes ausführen: vendor/bin/contao-console contao:install-web-dir -p und dann Benutzername und Passwort angeben. Ich habe die Doku oben entsprechend ergänzt.
Ich hoffe ich konnte Dir damit weiterhelfen.
Liebe Grüsse
Marco
Einen Kommentar schreiben