Attention
TYPO3 v10 has reached end-of-life as of April 30th 2023 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v10 here: TYPO3 ELTS.
Debugging¶
Let's take a look at what debugging possibilities TYPO3 provides.
Debugging PHP Code¶
The TYPO3 Core provides a simple debug()
(defined in
EXT:core/Classes/Core/GlobalDebugFunctions.php
). It wraps around
\TYPO3\CMS\Core\Utility\DebugUtility::debug()
and will output debug
information only if it matches a set of IP addresses (defined in
$GLOBALS['TYPO3_CONF_VARS']['SYS']['devIPmask']
).
For example, the following code:
debug($_COOKIE, 'cookie');
will produce such an output:
In general, look at class \TYPO3\CMS\Core\Utility\DebugUtility
for useful
debugging tools.
Backend Debug Mode¶
To display additional debug information in the backend, set $GLOBALS['TYPO3_CONF_VARS']['BE']['debug']
in the LocalConfiguration.php
and log in with an administrator account.
It shows for example the names of fields and in case of select, radio and checkbox
fields the values in addition, which are generated by the FormEngine
. These can be used to
set access permissions or configuration using TSConfig.
Additionally, in debug mode, the page renderer does not compress or concatenate JavaScript or CSS resources.
Backend Language Debug¶
Setting $GLOBALS['TYPO3_CONF_VARS']['BE']['languageDebug']
in the LocalConfiguration.php
displays the language labels (with
file and key) in the TYPO3 backend FormEngine
.