Möglichkeiten um in TYPO3 Debuggen zu können. Von errorHandler bis sqlDebug. Mit ein paar Handgriffen kann man TYPO3 dazu überreden, Debuginfos auszuwerfen.
Um von TYPO3 Debuginfos zu erhalten, gibt es sicherlich zig Möglichkeiten. Ich habe hier versucht, einige zusammen zu schreiben. Da ich noch nicht soviel Erfahrung in diesem Gebiet habe würde ich mich über Feedback freuen, womit man TYPO3 noch debuggen könnte - oder wie es sogar einfacher gehen könnte.
Bei PHP-Fehlern sollte devIPmask die erste Anlaufstelle sein. Wenn der anfragende Host sich in dem Adressbereich befindet, wird statt der bloßen Fehlermeldung ein Stack-Trace ausgegeben und so die Fehlerursache leichter herausfinden lässt. Danke an Steffen Gebbert für diesen Tipp!
/* * Add temporary in localconf.php for debug */ /* * Konfiguriert ob PHP Errors ausgegeben werden sollen * 0 Do not display any PHP error messages. Overrides the value of "exceptionalErrors" and sets it to 0 (= no errors are turned into exceptions), the configured "productionExceptionHandler" is used as exception handler * 1 Display error messages with the registered errorhandler. The configured "debugExceptionHandler" is used as exception handler * 2 Display errors only if client matches [SYS][devIPmask]. If devIPmask matches the users IP address the configured "debugExceptionHandler" is used for exceptions, if not "productionExceptionHandler" will be used * -1 Default setting. With this option, you can override the PHP setting "display_errors". If devIPmask matches the users IP address the configured "debugExceptionHandler" is used for exceptions, if not "productionExceptionHandler" will be used. */ $TYPO3_CONF_VARS['SYS']['displayErrors'] = '1'; /* * Definieren einer IP oder eines IP-Bereiches welche die Debugausgabe erhalten soll * um Debuginfos und Errors vor Livebesuchern zu verbergen * Wildcards für Oktetten sind erlaubt */ $TYPO3_CONF_VARS['SYS']['devIPmask'] = '*'; /* * Konfiguration des Errorhandlers * Hier mit einer brauchbaren Konfiguration */ $TYPO3_CONF_VARS['SYS']['errorHandler'] = 't3lib_error_ErrorHandler'; $TYPO3_CONF_VARS['SYS']['errorHandlerErrors'] = E_ALL ^ E_NOTICE; $TYPO3_CONF_VARS['SYS']['exceptionalErrors'] = E_ALL ^ E_NOTICE ^ E_WARNING ^ E_USER_ERROR ^ E_USER_NOTICE ^ E_USER_WARNING; $TYPO3_CONF_VARS['SYS']['debugExceptionHandler'] = 't3lib_error_DebugExceptionHandler'; $TYPO3_CONF_VARS['SYS']['productionExceptionHandler'] = 't3lib_error_DebugExceptionHandler'; /* * Konfiguration der Log-Methoden [systemLog] * file,[, ] logs to a file * mail, [/ ][, ] sends the log entries via mail * syslog, ,[, ] uses the operating system's log. Facility may be one of LOCAL0..LOCAL7, USER (on Windows USER is the only valid type). * error_log[,, ] uses the PHP error log */ $TYPO3_CONF_VARS['SYS']['systemLog'] = 'error_log'; /* * Konfiguration des Verbosity-Levels von [systemLog] * 0 info * 1 notice * 2 warning * 3 error * 4 fatal error */ $TYPO3_CONF_VARS['SYS']['systemLogLevel'] = '0'; /* * ext:devlog :: Durch aktivieren werden Fehler an den Developer Log gesendet * http://typo3.org/extensions/repository/view/devlog/current/ */ $TYPO3_CONF_VARS['SYS']['enable_errorDLOG'] = '1'; /* * ext:devlog :: Durch aktivieren werden auch Ausnahmen (exceptions) an das devlog gesendet */ $TYPO3_CONF_VARS['SYS']['enable_exceptionDLOG'] = '1'; /* * Aktiviert das Loggen von veralteten Methoden und Funktionen. Standardwert ist 'file' * file The log file will be written to typo3conf/deprecation_[hash-value].log * devlog The log will be written to the development log * console The log will be displayed in the Backend's Debug Console. * * info: The logging options can be combined by comma-separating them. * info2: Ich habe unterschiedliche Meinungen gehört auf welches Setting das Logging für den Livebetrieb eingestellt wird. */ $TYPO3_CONF_VARS['SYS']['enableDeprecationLog'] = 'console'; /* * Erlaubt es SQL queries im Browser auszugeben * 0 no SQL shown (default) * 1 show only failed queries * 2 show all queries */ $TYPO3_CONF_VARS['SYS']['sqlDebug'] = '1'; /* * Extensions Skripte (ext_localconf.php und ext_tables.php) * 0 Dateien werden nicht gecached und stattdessen jedes Mal 'included' * 1 Skripte werden gecached nach typo3conf/temp_CACHED_[sitePathHash]* (saves some milliseconds even with PHP accelerators)^^ */ $TYPO3_CONF_VARS['EXT']['extCache'] = '1'; /* * Backend Debugging :: Wenn gesetzt, wird 'loginrefresh' deaktiviert und 'pageRenderer' wird in den Debug Mods versetzt. */ $TYPO3_CONF_VARS['BE']['debug'] = '1';