Debug Variables
← Basic Variables | Variables | Edit Variables →
- %apply=item id=Abort Function?%
$AbortFunction
- A custom function name replacing the built-in Abort() function.
- %apply=item id=Enable Diag?%
$EnableDiag
The following actions are available only if you set
in your configuration file. They can be used for debugging and should not be set in a production environment.
$EnableDiag
= 1;
- ?action=ruleset
- displays a list of all markups in 4 columns:
- column 1 = markup-name (1. parameter of markup() )
- column 2 = when will rule apply (2. parameter of markup() )
- column 3 = PmWiki’s internal sort key (derived from #2)
- column 4 = Debug backtrace information for potentially incompatible rules (filename, line number, pattern)
?action=ruleset
gives you, apply the Cookbook:MarkupRulesetDebugging recipe: it can also show the pattern and the replacement strings.
- doesn’t make use of PmWiki’s authorization mechanisms.
- ?action=phpinfo
- displays the output of phpinfo() and exits. No page will be processed
- doesn’t make use of PmWiki’s authorization mechanisms.
- ?action=diag
- displays a dump of all global vars and exits. No page will be processed
- doesn’t make use of PmWiki’s authorization mechanisms.
- %apply=item id=Enable Markup Diag?%
$EnableMarkupDiag
- By default, the “ruleset” action will display all markup rules, and the old-format patterns requiring update for PHP 7 will list with their files and line numbers. Setting
$EnableMarkupDiag
to 1 will list files and line numbers of all patterns. Note, this needs to be set early in config.php before a Markup() call or before including a recipe. - %apply=item id=Enable IMS Caching?%
$EnableIMSCaching
- A variable which, when set equal to 1, recognizes the “If-Modified-Since” header coming from browsers and allows browsers to use locally cached pages. Disabled by default to help the administrator customize its page without needing permanent reloading.
- %apply=item id=Enable Stop Watch?%
$EnableStopWatch
- This activates an internal stopwatch that shows how long it takes to render a page. (If you have a wiki that composes a HTML page from multiple pages, such as a normal layout with a sidebar, you’ll get separate timings for each subpage and for the total page.)
<!--function:StopWatchHTML 1-->
in the wiki template.
$EnableStopWatch
= 0; # No timings (the default). No HTML will be generated.$EnableStopWatch
= 1; # Wall-clock timings only.$EnableStopWatch
= 2; # Wall-clock and CPU usage timings. Won’t work on Windows.
See also:
- scripts/refcount.php is useful for debugging
QIs it possible for someone with admin priviledges to always have access to debugging tools, without letting everyone else access them?
You can easily & automatically allow debugging for anyone with admin priviledges (meanwhile leaving it off for everyone else) by including this line in config.php - just be sure that 1) $EnableDiag
is either null or set to 0, and 2) to include it near the end of config.php, AFTER declaring your passwords, and after any Auth User or other priviledge settings:
if (Cond Auth?(
$pagename
, ‘admin’))$EnableDiag
= 1; # allows admin to always call phpinfo, etc
← Basic Variables | Variables | Edit Variables →
This page may have a more recent version on pmwiki.org: PmWiki:DebugVariables, and a talk page: PmWiki:DebugVariables-Talk.