silverstripe-framework/docs/en/02_Developer_Guides/07_Debugging/02_URL_Variable_Tools.md
Michael Pritchard fdbd899766 DOC Update SilverStripe to Silverstripe CMS
- Remaining Developer Guides and Upgrading
- SilverStripe in a namespace or api has not been change
- To keep PRs easier no formatting was changed

Update merge conflics with two files

Update Silverstripe Ltd, Silverstripe Cloud and Silverstripe CMS

Silverstripe CMS Ltd > Silverstripe Ltd
Silverstripe CMS Platform > Silverstripe Cloud
Silverstripe CMS Framework > Silverstripe CMS

Resolve merge conflict

Remove Framework from Silverstripe CMS Framework

- 3 files

Change SilverStripe CMS to Silverstripe CMS
2021-07-30 13:54:15 +01:00

81 lines
4.4 KiB
Markdown

---
title: URL Variable tools
summary: Useful debugging tools you can use right in the browser
---
# URL Variable Tools
## Introduction
This page lists a number of "page options" , "rendering tools" or "special URL variables" that you can use to debug your
Silverstripe CMS applications. These are consumed in PHP using the $_REQUEST or $_GET superglobals throughout the
Silverstripe CMS core.
## Debug Toolbar
The easiest way to debug Silverstripe CMS is through the
[lekoala/silverstripe-debugbar](https://github.com/lekoala/silverstripe-debugbar) module.
It similar to the browser "developer toolbar", and adds itself to the bottom of the screen
when your site is in development mode. It shows you render times, database queries,
session variables, used templates and much more.
## Templates
| URL Variable | Values | Description |
| ------------ | ------ | ----------- |
| flush | 1 | Clears out all caches. Used mainly during development, e.g. when adding new classes or templates. Requires "dev" mode or ADMIN login |
| showtemplate | 1 | Show the compiled version of all the templates used, including line numbers. Good when you have a syntax error in a template. Cannot be used on a Live site without **isDev**. |
## General Testing
| URL Variable | Values | Description |
| ------------ | ------ | ----------- |
| isDev | 1 | Put the site into [development mode](../), enabling debugging messages to the browser on a live server. For security, you'll be asked to log in with an administrator log-in. Will persist for the current browser session. |
| isTest | 1 | See above. |
| debug | 1 | Show a collection of debugging information about the director / controller operation |
| debug_request | 1 | Show all steps of the request from initial [HTTPRequest](api:SilverStripe\Control\HTTPRequest) to [Controller](api:SilverStripe\Control\Controller) to Template Rendering |
| execmetric | 1 | Display the execution time and peak memory usage for the request |
## Classes and Objects
| URL Variable | Values | Description |
| ------------ | ------ | ----------- |
| debugfailover | 1 | Shows failover methods from classes extended |
## Database
| URL Variable | Values | Description |
| ------------ | ------------------ | ----------- |
| showqueries | 1 | inline | List all SQL queries executed, the `inline` option will do a fudge replacement of parameterised queries |
| showqueries | 1 | backtrace | List all SQL queries executed, the `backtrace` option will do a fudge replacement of parameterised queries *and* show a backtrace of every query |
| previewwrite | 1 | List all insert / update SQL queries, and **don't** execute them. Useful for previewing writes to the database. |
## Security Redirects
You can set an URL to redirect back to after a [Security](/developer_guides/security) action. See the section on [URL
Redirections](/developer_guides/controllers/redirection) for more information and examples.
| URL Variable | Values | Description |
| ------------ | ------ | ----------- |
| BackURL | URL | Set to a relative URL string to use once Security Action is complete |
## Building and Publishing URLs
| Site URL | Action |
| --------------------------------------------- | ------ |
| http://localhost**/dev/build** | Rebuild the entire database and manifest, see below for additional URL Variables |
| http://localhost**/admin/pages/publishall/** | Publish all pages on the site. Only works reliably on smaller sites. |
### /dev/build
| URL Variable | Values | Description |
| ------------ | ------ | ----------- |
| quiet | 1 | Don't show messages during build |
| dont_populate | 1 | Don't run **requireDefaultRecords()** on the models when building. This will build the table but not insert any records |
## Config diagnostic URLs
| Site URL | Action |
| --------------------------------------------- | ------ |
| http://localhost**/dev/config** | Output a simplified representation properties in the `Config` manifest |
| http://localhost**/dev/config/audit** | Audit `Config` properties and display any with missing PHP definitions |