yii2-extensions / debug
Debug toolbar and debugger panels for Yii2: requests, logs, queries, profiling, timeline, queue, mail, events, asset bundles, and user switching with a Vite-built dependency-free UI.
Package info
github.com/yii2-extensions/debug
Type:yii2-extension
pkg:composer/yii2-extensions/debug
Requires
- php: >=8.3
- composer-runtime-api: ^2.0
- ext-ctype: *
- ext-intl: *
- ext-mbstring: *
- ext-pdo: *
- php-forge/debug: ^0.4
- php-forge/debug-core: ^0.1
- psr/event-dispatcher: ^1.0
- symfony/mime: ^7.4
- ui-awesome/html: ^0.6
- ui-awesome/html-core: ^0.8
- ui-awesome/html-core-component: ^0.4
- ui-awesome/html-helper: ^0.7
- ui-awesome/html-interop: ^0.4
- ui-awesome/html-svg: ^0.6
- yiisoft/yii2: ^22.0@dev
- yiisoft/yii2-symfonymailer: ^22.0@dev
Requires (Dev)
- infection/infection: ^0.35
- maglnet/composer-require-checker: ^4.1
- php-forge/coding-standard: ^0.3
- php-forge/inertia: ^0.5
- php-forge/vite: ^0.5
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-strict-rules: ^2.0.3
- phpunit/phpunit: ^12.5
- xepozz/internal-mocker: ^1.4
- yii2-extensions/inertia: ^0.6
- yii2-extensions/phpstan: ^0.5
Suggests
- php-forge/inertia: Captures the Inertia protocol result of every request in its own panel. Register its collector and panel under `collectors`/`panels` and hand the collector to the component with `dispatchers`; see docs/configuration.md.
- yii2-extensions/inertia: Provides the `inertia` component that takes the Inertia collector through `dispatchers`; see docs/configuration.md.
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-22 22:18:48 UTC
README
Debug
Debugger and toolbar for Yii2 applications
Pico-inspired UI, scoped CSS, light/dark mode, and 14 inspection panels
Warning
Development only. Never enable the debugger in production. Keep access restricted to trusted development IPs and
install production dependencies with composer install --no-dev.
Features
Quick start
Installation
The 0.2 line does not support Yii2 2.0.x.
If the Yii 22 mailer is not already a root requirement, add both packages with a scoped development flag for the mailer:
composer require yii2-extensions/debug:^0.2 yiisoft/yii2-symfonymailer:^22.0@dev --dev
For an existing root mailer requirement, keep its dependency section and ensure its constraint includes @dev; require
only yii2-extensions/debug:^0.2 with --dev. See installation for entry-script setup, asset
publication and verification.
When upgrading from 0.1, review the upgrade guide and migration guide. Keep the
debugger and php-forge/debug-core up to date together in the application's lock file.
Enable the debugger
In your application's entry script, set YII_ENV to dev before loading Yii. Then register the module in
config/web.php, before returning $config:
if (YII_ENV_DEV) { $config['bootstrap'][] = 'debug'; $config['modules']['debug'] = [ 'class' => \yii\debug\Module::class, 'allowedIPs' => ['127.0.0.1', '::1'], ]; }
Keep the registration inside the development guard. Do not bootstrap the module in production.
Basic usage
Open an application page, expand the toolbar at the bottom, and select a panel chip to inspect the request. Use the Yii
chip for Configuration and the PHP chip for PHP info. Switch between light and dark themes from the toolbar, and press
Escape to close the drawer.
In Logs, messages written through the Yii 22 PSR-3 adapter yii\log\PsrLogger show their PSR-3 context under the
message in a collapsed "Context" disclosure; the category key is omitted only when it matches the row's category shown
in the Category column, while any other category value stays in the context.
Open the debug/index route to browse retained requests. Select two captures in History to compare request metrics and
panel changes, then open either capture for its details. Comparison shows structural counts without exposing panel
values.
Configuration
The module runs with no options: up to 50 retained requests, captures under @runtime/debug, and a bottom toolbar. See
the configuration reference for custom collectors and panels, the Inertia and Vite providers,
database capture, IDE links, and the standalone router.
Debug Core ships compiled assets through Composer. Consumers do not need Node.js, Foxy or an npm asset alias for the
debugger; frontend source development remains in php-forge/debug-core.
Security
The toolbar and debugger routes allow 127.0.0.1 and ::1 by default. Add only trusted development addresses to
allowedIPs; never expose the debugger publicly. A checkAccessCallback can further restrict allowed requests.
Request, identity, and queue captures redact common sensitive fields, and so do Inertia captures registered with the capture-policy closure shown in the configuration reference. In Logs, the log message is not redacted; the PSR-3 context is redacted by the capture policy. SQL diagnostics can include substituted query values. Treat stored captures as sensitive and review them before sharing.
In the Events panel, context capture and source traces are disabled by default. This does not disable source traces in Logs or Database.
To redact additional exact keys, extend the defaults instead of replacing them:
use PHPForge\Debug\Helper\SensitiveDataRedactor; $config['modules']['debug']['sensitiveKeys'] = [ ...SensitiveDataRedactor::DEFAULT_KEYS, 'tenant_signing_key', ];
Browser support
Use a current browser with Web Components, native JavaScript modules, and CSS custom properties. Internet Explorer is not supported.
Documentation
Practical guides and complete examples for configuring the debugger and inspecting requests.
- ๐ Installation Guide
- โ๏ธ Configuration Guide
- ๐ก Usage Examples
- ๐ Upgrade Guide and Migration Guide
- ๐งช Testing Guide
- ๐ธ Panel Screenshots
- ๐ Changelog
The guides and the API reference generated from the
PHPDoc in src/ are published at https://yii2-framework.github.io/docs/extensions/debug/.
AI assistance
AI agents: read the documentation index and fetch the Markdown version
of a page by appending index.md to its URL. The
AI agents guide covers skill installation, client setup and
verification.
- ๐ค
yii2-debug-inspectionskill: Debug inspection. - ๐งญ
yii2-frameworkskill: Yii 22.0 application conventions.
The hosted documentation covers Yii 22.0. If it does not match the installed revision or is unavailable, use the repository guides, the skill source, the source PHPDoc and the changelog.