See also Kint

Also see {debug} which can be used in Smarty Templates as described in template tricks.

General Description

For a TikiAdmin this tool is a great first step towards making Tiki as easy to debug as it is to extend and modify!


When processing a page, your code can send output to the debug console with commands such as $debugger->msg("your message"). This writes the output to the debugconsole which you can then view by displaying the console.

When executing debugging commands, the page is re-loaded with the output of the debugging commands written to the debugconsole. This may pose problems for pages which are processing user input, uploading files, or that crash and do not return.

The debug console is embedded within a div class="debugconsole" id="debugconsole" which is turned on by clicking on the link to toggle the console. Careful inspection will note that the footer.tpl includes tiki-debug_console.php which handles the processing after most of the rest of the page has already executed.

General Notes
  • Enable debugger console by selecting checkbox on Admin -> Features -> Administration Features.
  • Debugger can be extended with commands and/or interface extensions (tabs).
  • Every command in debugger is a PHP class.
  • Sources lib/debug
  • Search for debug-command_*.php it is filenames mask... for debugger commands
  • one command one class one file

Key Function and sub-features

General info

Copy to clipboard
*help Display list of commands or help for specified command (help print for example) *tikitables Show list of Tiki tables in DB schema *features Show features on/off state *perm Show current permissions in a convenient way *print Print PHP variable. Indexes are OK. *slist Display list of Smarty variables. Better to specify partial name or very long list of vars will return. *sprint Print Smarty variable *watch Manage variables watch list *sql Exec SQL query on Tiki DB

How to extend debugger

Look for example skeleton lib/debug/debugger-command_test.php

Related Links

Typical Uses

Debug messages on console

It is possible to print debug info to special debug tab called 'Debug messages' during page generation. It is possible from PHP and Smarty as well.

Copy to clipboard
Dump Smarty variable from template: {var_dump var=left_modules} Dump Smarty variable from template using modificator: {$description|str_replace:"\n":"<br />"|dbg}

Of couse modificator dbg can be used more than once:

Copy to clipboard
{$description|dbg|str_replace:"\n":"<br />"|dbg}

... so you will get 2 messages before and after modification of $description.

Copy to clipboard
// PHP code global $debugger; // Print message $debugger->msg('Value of $myvar = "'.$myvar.'"'); // Print variable $debugger->var_dump('$myvar');

Case Studies


Non command-line commands should not print help. — Fixed in CVS.

Support Requests

We need more examples of the commands that are being passed here...



For more information

lookup sources lib/debug