mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-09-06 17:51:34 +02:00
75 lines
4.0 KiB
Markdown
75 lines
4.0 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 applications. These are consumed in PHP using the $_REQUEST or $_GET superglobals throughout the SilverStripe
|
|
core.
|
|
|
|
## Debug Toolbar
|
|
|
|
The easiest way to debug SilverStripe 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 |
|
|
|