2016-03-25 01:18:05 -07:00
< ? php
2026-01-26 14:28:18 -08:00
declare ( strict_types = 1 );
2021-06-10 20:15:52 +00:00
return [
2016-03-25 01:18:05 -07:00
/*
|--------------------------------------------------------------------------
| Debugbar Settings
|--------------------------------------------------------------------------
|
| Debugbar is enabled by default , when debug is set to true in app . php .
| You can override the value by setting enable to true or false instead of null .
|
2026-01-26 14:28:18 -08:00
| You can provide an array of URI 's that must be ignored (eg. ' api /* ' )
2016-03-25 01:18:05 -07:00
|
*/
2026-01-26 14:28:18 -08:00
'enabled' => env ( 'DEBUGBAR_ENABLED' ),
'collect_jobs' => env ( 'DEBUGBAR_COLLECT_JOBS' , false ),
'except' => [
'telescope*' ,
'horizon*' ,
'_boost/browser-logs' ,
2021-06-10 20:15:52 +00:00
],
2016-03-25 01:18:05 -07:00
/*
2026-01-26 14:28:18 -08:00
|--------------------------------------------------------------------------
| DataCollectors
|--------------------------------------------------------------------------
|
| Enable / disable DataCollectors
|
*/
2016-03-25 01:18:05 -07:00
2021-06-10 20:15:52 +00:00
'collectors' => [
2026-01-26 14:28:18 -08:00
'phpinfo' => env ( 'DEBUGBAR_COLLECTORS_PHPINFO' , true ), // Php version
'messages' => env ( 'DEBUGBAR_COLLECTORS_MESSAGES' , true ), // Messages
'time' => env ( 'DEBUGBAR_COLLECTORS_TIME' , true ), // Time Datalogger
'memory' => env ( 'DEBUGBAR_COLLECTORS_MEMORY' , true ), // Memory usage
2026-01-26 14:30:03 -08:00
'exceptions' => env ( 'DEBUGBAR_COLLECTORS_EXCEPTIONS' , true ), // Exception displayer
2026-01-26 14:28:18 -08:00
'log' => env ( 'DEBUGBAR_COLLECTORS_LOG' , true ), // Logs from Monolog (merged in messages if enabled)
'db' => env ( 'DEBUGBAR_COLLECTORS_DB' , true ), // Show database (PDO) queries and bindings
'views' => env ( 'DEBUGBAR_COLLECTORS_VIEWS' , true ), // Views with their data
'route' => env ( 'DEBUGBAR_COLLECTORS_ROUTE' , true ), // Current route information
'auth' => env ( 'DEBUGBAR_COLLECTORS_AUTH' , true ), // Display Laravel authentication status
'gate' => env ( 'DEBUGBAR_COLLECTORS_GATE' , true ), // Display Laravel Gate checks
'session' => env ( 'DEBUGBAR_COLLECTORS_SESSION' , true ), // Display session data
'symfony_request' => env ( 'DEBUGBAR_COLLECTORS_SYMFONY_REQUEST' , false ), // Default Request Data
'mail' => env ( 'DEBUGBAR_COLLECTORS_MAIL' , true ), // Catch mail messages
'laravel' => env ( 'DEBUGBAR_COLLECTORS_LARAVEL' , true ), // Laravel version and environment
'events' => env ( 'DEBUGBAR_COLLECTORS_EVENTS' , true ), // All events fired
'logs' => env ( 'DEBUGBAR_COLLECTORS_LOGS' , true ), // Add the latest log messages
'config' => env ( 'DEBUGBAR_COLLECTORS_CONFIG' , false ), // Display config settings
'cache' => env ( 'DEBUGBAR_COLLECTORS_CACHE' , true ), // Display cache events
'models' => env ( 'DEBUGBAR_COLLECTORS_MODELS' , true ), // Display models
'livewire' => env ( 'DEBUGBAR_COLLECTORS_LIVEWIRE' , true ), // Display Livewire (when available)
'inertia' => env ( 'DEBUGBAR_COLLECTORS_INERTIA' , true ), // Display Inertia (when available)
'jobs' => env ( 'DEBUGBAR_COLLECTORS_JOBS' , true ), // Display dispatched jobs
'pennant' => env ( 'DEBUGBAR_COLLECTORS_PENNANT' , true ), // Display Pennant feature flags
'http_client' => env ( 'DEBUGBAR_COLLECTORS_HTTP_CLIENT' , true ), // Display HTTP Client requests
2021-06-10 20:15:52 +00:00
],
2016-03-25 01:18:05 -07:00
/*
|--------------------------------------------------------------------------
| Extra options
|--------------------------------------------------------------------------
|
| Configure some DataCollectors
|
*/
2021-06-10 20:15:52 +00:00
'options' => [
2026-01-26 14:28:18 -08:00
'time' => [
'memory_usage' => env ( 'DEBUGBAR_OPTIONS_TIME_MEMORY_USAGE' , false ), // Calculated by subtracting memory start and end, it may be inaccurate
],
'messages' => [
'trace' => env ( 'DEBUGBAR_OPTIONS_MESSAGES_TRACE' , true ), // Trace the origin of the debug message
'backtrace_exclude_paths' => [], // Paths to exclude from backtrace. (in addition to defaults)
'capture_dumps' => env ( 'DEBUGBAR_OPTIONS_MESSAGES_CAPTURE_DUMPS' , false ), // Capture laravel `dump();` as message
'timeline' => env ( 'DEBUGBAR_OPTIONS_MESSAGES_TIMELINE' , true ), // Add messages to the timeline
],
'memory' => [
'reset_peak' => env ( 'DEBUGBAR_OPTIONS_MEMORY_RESET_PEAK' , false ), // run memory_reset_peak_usage before collecting
'with_baseline' => env ( 'DEBUGBAR_OPTIONS_MEMORY_WITH_BASELINE' , false ), // Set boot memory usage as memory peak baseline
'precision' => ( int ) env ( 'DEBUGBAR_OPTIONS_MEMORY_PRECISION' , 0 ), // Memory rounding precision
],
2021-06-10 20:15:52 +00:00
'auth' => [
2026-01-26 14:28:18 -08:00
'show_name' => env ( 'DEBUGBAR_OPTIONS_AUTH_SHOW_NAME' , false ), // Also show the users name/email in the debugbar
'show_guards' => env ( 'DEBUGBAR_OPTIONS_AUTH_SHOW_GUARDS' , true ), // Show the guards that are used
],
'gate' => [
'trace' => false , // Trace the origin of the Gate checks
'timeline' => env ( 'DEBUGBAR_OPTIONS_GATE_TIMELINE' , false ), // Add mails to the timeline
2021-06-10 20:15:52 +00:00
],
'db' => [
2026-01-26 14:28:18 -08:00
'with_params' => env ( 'DEBUGBAR_OPTIONS_WITH_PARAMS' , true ), // Render SQL with the parameters substituted
'exclude_paths' => [ // Paths to exclude entirely from the collector
//'vendor/laravel/framework/src/Illuminate/Session', // Exclude sessions queries
2021-06-10 20:15:52 +00:00
],
2026-01-26 14:28:18 -08:00
'backtrace' => env ( 'DEBUGBAR_OPTIONS_DB_BACKTRACE' , true ), // Use a backtrace to find the origin of the query in your files.
'backtrace_exclude_paths' => [], // Paths to exclude from backtrace. (in addition to defaults)
'timeline' => env ( 'DEBUGBAR_OPTIONS_DB_TIMELINE' , true ), // Add the queries to the timeline
'duration_background' => env ( 'DEBUGBAR_OPTIONS_DB_DURATION_BACKGROUND' , true ), // Show shaded background on each query relative to how long it took to execute.
'explain' => [ // Show EXPLAIN output on queries
'enabled' => env ( 'DEBUGBAR_OPTIONS_DB_EXPLAIN_ENABLED' , false ),
],
'only_slow_queries' => env ( 'DEBUGBAR_OPTIONS_DB_ONLY_SLOW_QUERIES' , true ), // Only track queries that last longer than `slow_threshold`
'slow_threshold' => env ( 'DEBUGBAR_OPTIONS_DB_SLOW_THRESHOLD' , false ), // Max query execution time (ms). Exceeding queries will be highlighted
'memory_usage' => env ( 'DEBUGBAR_OPTIONS_DB_MEMORY_USAGE' , false ), // Show queries memory usage
'soft_limit' => ( int ) env ( 'DEBUGBAR_OPTIONS_DB_SOFT_LIMIT' , 100 ), // After the soft limit, no parameters/backtrace are captured
'hard_limit' => ( int ) env ( 'DEBUGBAR_OPTIONS_DB_HARD_LIMIT' , 500 ), // After the hard limit, queries are ignored
2021-06-10 20:15:52 +00:00
],
'mail' => [
2026-01-26 14:28:18 -08:00
'timeline' => env ( 'DEBUGBAR_OPTIONS_MAIL_TIMELINE' , true ), // Add mails to the timeline
'show_body' => env ( 'DEBUGBAR_OPTIONS_MAIL_SHOW_BODY' , true ),
2021-06-10 20:15:52 +00:00
],
'views' => [
2026-01-26 14:28:18 -08:00
'timeline' => env ( 'DEBUGBAR_OPTIONS_VIEWS_TIMELINE' , true ), // Add the views to the timeline
'data' => env ( 'DEBUGBAR_OPTIONS_VIEWS_DATA' , false ), // True for all data, 'keys' for only names, false for no parameters.
'group' => ( int ) env ( 'DEBUGBAR_OPTIONS_VIEWS_GROUP' , 50 ), // Group duplicate views. Pass value to auto-group, or true/false to force
'exclude_paths' => [ // Add the paths which you don't want to appear in the views
'vendor/filament' , // Exclude Filament components by default
],
],
'inertia' => [
'pages' => env ( 'DEBUGBAR_OPTIONS_VIEWS_INERTIA_PAGES' , 'js/Pages' ), // Path for Inertia views
2021-06-10 20:15:52 +00:00
],
'route' => [
2026-01-26 14:28:18 -08:00
'label' => env ( 'DEBUGBAR_OPTIONS_ROUTE_LABEL' , true ), // Show complete route on bar
],
'session' => [
'masked' => [], // List of keys that are masked
],
'symfony_request' => [
'label' => env ( 'DEBUGBAR_OPTIONS_SYMFONY_REQUEST_LABEL' , true ), // Show route on bar
'masked' => [], // List of keys that are masked
],
'events' => [
'data' => env ( 'DEBUGBAR_OPTIONS_EVENTS_DATA' , false ), // Collect events data
'listeners' => env ( 'DEBUGBAR_OPTIONS_EVENTS_LISTENERS' , false ), // Add listeners to the events data
'excluded' => [], // Example: ['eloquent.*', 'composing', Illuminate\Cache\Events\CacheHit::class]
2021-06-10 20:15:52 +00:00
],
'logs' => [
2026-01-26 14:28:18 -08:00
'file' => env ( 'DEBUGBAR_OPTIONS_LOGS_FILE' ),
],
'cache' => [
'values' => env ( 'DEBUGBAR_OPTIONS_CACHE_VALUES' , true ), // Collect cache values
'timeline' => env ( 'DEBUGBAR_OPTIONS_CACHE_TIMELINE' , false ), // Add mails to the timeline
],
'http_client' => [
'masked' => [],
'timeline' => env ( 'DEBUGBAR_OPTIONS_HTTP_CLIENT_TIMELINE' , true ), // Add requests to the timeline
2021-06-10 20:15:52 +00:00
],
],
2016-03-25 01:18:05 -07:00
2026-01-26 14:28:18 -08:00
/**
* Add any additional DataCollectors by adding the class name of a DataCollector or invokable class .
*/
'custom_collectors' => [
// MyCollector::class => env('DEBUGBAR_COLLECTORS_MYCOLLECTOR', true),
],
/*
|--------------------------------------------------------------------------
| Editor
|--------------------------------------------------------------------------
|
| Choose your preferred editor to use when clicking file name .
|
| Supported : " sublime " , " textmate " , " emacs " , " macvim " , " codelite " ,
| " phpstorm " , " phpstorm-remote " , " idea " , " idea-remote " ,
| " vscode " , " vscode-insiders " , " vscode-remote " , " vscode-insiders-remote " ,
| " vscodium " , " nova " , " xdebug " , " atom " , " espresso " ,
| " netbeans " , " cursor " , " windsurf " , " zed " , " antigravity "
|
*/
'editor' => env ( 'DEBUGBAR_EDITOR' ) ? : env ( 'IGNITION_EDITOR' , 'phpstorm' ),
/*
|--------------------------------------------------------------------------
| Capture Ajax Requests
|--------------------------------------------------------------------------
|
| The Debugbar can capture Ajax requests and display them . If you don ' t want this ( ie . because of errors ),
| you can use this option to disable sending the data through the headers .
|
| Optionally , you can also send ServerTiming headers on ajax requests for the Chrome DevTools .
|
| Note for your request to be identified as ajax requests they must either send the header
| X - Requested - With with the value XMLHttpRequest ( most JS libraries send this ), or have application / json as a Accept header .
|
| By default `ajax_handler_auto_show` is set to true allowing ajax requests to be shown automatically in the Debugbar .
| Changing `ajax_handler_auto_show` to false will prevent the Debugbar from reloading .
|
| You can defer loading the dataset , so it will be loaded with ajax after the request is done . ( Experimental )
*/
'capture_ajax' => env ( 'DEBUGBAR_CAPTURE_AJAX' , true ),
'add_ajax_timing' => env ( 'DEBUGBAR_ADD_AJAX_TIMING' , false ),
'ajax_handler_auto_show' => env ( 'DEBUGBAR_AJAX_HANDLER_AUTO_SHOW' , true ),
'ajax_handler_enable_tab' => env ( 'DEBUGBAR_AJAX_HANDLER_ENABLE_TAB' , true ),
'defer_datasets' => env ( 'DEBUGBAR_DEFER_DATASETS' , false ),
/*
|--------------------------------------------------------------------------
| Remote Path Mapping
|--------------------------------------------------------------------------
|
| If you are using a remote dev server , like Laravel Homestead , Docker , or
| even a remote VPS , it will be necessary to specify your path mapping .
|
| Leaving one , or both of these , empty or null will not trigger the remote
| URL changes and Debugbar will treat your editor links as local files .
|
| " remote_sites_path " is an absolute base path for your sites or projects
| in Homestead , Vagrant , Docker , or another remote development server .
|
| Example value : " /home/vagrant/Code "
|
| " local_sites_path " is an absolute base path for your sites or projects
| on your local computer where your IDE or code editor is running on .
|
| Example values : " /Users/<name>/Code " , " C: \ Users \ <name> \ Documents \ Code "
|
*/
'remote_sites_path' => env ( 'DEBUGBAR_REMOTE_SITES_PATH' ),
'local_sites_path' => env ( 'DEBUGBAR_LOCAL_SITES_PATH' , env ( 'IGNITION_LOCAL_SITES_PATH' )),
/*
|--------------------------------------------------------------------------
| Storage settings
|--------------------------------------------------------------------------
|
| Debugbar stores data for session / ajax requests .
| You can disable this , so the debugbar stores data in headers / session ,
| but this can cause problems with large data collectors .
| By default , file storage ( in the storage folder ) is used . Sqlite will
| create a database file in the storage folder .
| Redis and PDO can also be used . For PDO , run the package migrations first .
|
| Warning : Enabling storage . open will allow everyone to access previous
| request , do not enable open storage in publicly available environments !
| Specify a callback if you want to limit based on IP or authentication .
| Leaving it to null will allow localhost only .
*/
'storage' => [
'enabled' => env ( 'DEBUGBAR_STORAGE_ENABLED' , true ),
'open' => env ( 'DEBUGBAR_OPEN_STORAGE' ), // bool/callback.
'driver' => env ( 'DEBUGBAR_STORAGE_DRIVER' , 'file' ), // redis, file, sqlite, pdo, custom
'path' => env ( 'DEBUGBAR_STORAGE_PATH' , storage_path ( 'debugbar' )), // For file driver
'connection' => env ( 'DEBUGBAR_STORAGE_CONNECTION' ), // Leave null for default connection (Redis/PDO)
'provider' => env ( 'DEBUGBAR_STORAGE_PROVIDER' , '' ), // Instance of StorageInterface for custom driver
],
/*
|--------------------------------------------------------------------------
| Assets
|--------------------------------------------------------------------------
|
| Vendor files are included by default , but can be set to false .
| This can also be set to 'js' or 'css' , to only include javascript or css vendor files .
| Vendor files are for css : ( none )
| and for js : highlight . js
| So if you want syntax highlighting , set it to true .
|
*/
'use_dist_files' => env ( 'DEBUGBAR_USE_DIST_FILES' , true ),
'include_vendors' => env ( 'DEBUGBAR_INCLUDE_VENDORS' , true ),
/*
|--------------------------------------------------------------------------
| Custom Error Handler for Deprecated warnings
|--------------------------------------------------------------------------
|
| When enabled , the Debugbar shows deprecated warnings for Symfony components
| in the Messages tab .
|
| You can set a custom error reporting level to filter which errors are
| handled . For example , to exclude deprecation warnings :
| E_ALL & ~ E_DEPRECATED & ~ E_USER_DEPRECATED
|
| To exclude notices , strict warnings , and deprecations :
| E_ALL & ~ E_NOTICE & ~ E_STRICT & ~ E_DEPRECATED & ~ E_USER_DEPRECATED
|
| Defaults to E_ALL ( all errors ) .
|
*/
'error_handler' => env ( 'DEBUGBAR_ERROR_HANDLER' , false ),
'error_level' => env ( 'DEBUGBAR_ERROR_LEVEL' , E_ALL ),
/*
|--------------------------------------------------------------------------
| Clockwork integration
|--------------------------------------------------------------------------
|
| The Debugbar can emulate the Clockwork headers , so you can use the Chrome
| Extension , without the server - side code . It uses Debugbar collectors instead .
|
*/
'clockwork' => env ( 'DEBUGBAR_CLOCKWORK' , true ),
2016-03-25 01:18:05 -07:00
/*
|--------------------------------------------------------------------------
| Inject Debugbar in Response
|--------------------------------------------------------------------------
|
2026-01-26 14:28:18 -08:00
| Usually , the debugbar is added just before </ body > , by listening to the
2016-03-25 01:18:05 -07:00
| Response after the App is done . If you disable this , you have to add them
| in your template yourself . See http :// phpdebugbar . com / docs / rendering . html
|
*/
2026-01-26 14:28:18 -08:00
'inject' => env ( 'DEBUGBAR_INJECT' , true ),
2016-03-25 01:18:05 -07:00
/*
|--------------------------------------------------------------------------
2026-01-26 14:28:18 -08:00
| Debugbar route prefix
2016-03-25 01:18:05 -07:00
|--------------------------------------------------------------------------
|
2026-01-26 14:28:18 -08:00
| Sometimes you want to set route prefix to be used by Debugbar to load
2016-03-25 01:18:05 -07:00
| its resources from . Usually the need comes from misconfigured web server or
| from trying to overcome bugs like this : http :// trac . nginx . org / nginx / ticket / 97
|
*/
2026-01-26 14:28:18 -08:00
'route_prefix' => env ( 'DEBUGBAR_ROUTE_PREFIX' , '_debugbar' ),
2016-03-25 01:18:05 -07:00
2026-01-26 14:28:18 -08:00
/*
|--------------------------------------------------------------------------
| Debugbar route middleware
|--------------------------------------------------------------------------
|
| Additional middleware to run on the Debugbar routes
*/
'route_middleware' => [],
/*
|--------------------------------------------------------------------------
| Debugbar route domain
|--------------------------------------------------------------------------
|
| By default Debugbar route served from the same domain that request served .
| To override default domain , specify it as a non - empty value .
*/
'route_domain' => env ( 'DEBUGBAR_ROUTE_DOMAIN' ),
/*
|--------------------------------------------------------------------------
| Debugbar theme
|--------------------------------------------------------------------------
|
| Switches between light and dark theme . If set to auto it will respect system preferences
| Possible values : auto , light , dark
*/
'theme' => env ( 'DEBUGBAR_THEME' , 'auto' ),
/*
|--------------------------------------------------------------------------
| Backtrace stack limit
|--------------------------------------------------------------------------
|
| By default , the Debugbar limits the number of frames returned by the 'debug_backtrace()' function .
| If you need larger stacktraces , you can increase this number . Setting it to 0 will result in no limit .
*/
'debug_backtrace_limit' => ( int ) env ( 'DEBUGBAR_DEBUG_BACKTRACE_LIMIT' , 50 ),
2021-06-10 20:15:52 +00:00
];