Debug Extension for Yii 2
This extension provides a debugger for Yii framework 2.0 applications. When this extension is used, a debugger toolbar will appear at the bottom of every page. The extension also provides a set of standalone pages to display more detailed debug information.
For license information check the LICENSE-file.
Documentation is at docs/guide/README.md.
Installation ¶
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist yiisoft/yii2-debug
or add
"yiisoft/yii2-debug": "~2.1.0"
to the require section of your composer.json
file.
Usage ¶
Once the extension is installed, simply modify your application configuration as follows:
return [
'bootstrap' => ['debug'],
'modules' => [
'debug' => [
'class' => 'yii\debug\Module',
// uncomment and adjust the following to add your IP if you are not connecting from localhost.
//'allowedIPs' => ['127.0.0.1', '::1'],
],
// ...
],
...
];
You will see a debugger toolbar showing at the bottom of every page of your application. You can click on the toolbar to see more detailed debug information.
Open Files in IDE ¶
You can create a link to open files in your favorite IDE with this configuration:
return [
'bootstrap' => ['debug'],
'modules' => [
'debug' => [
'class' => 'yii\debug\Module',
'traceLine' => '<a href="phpstorm://open?url={file}&line={line}">{file}:{line}</a>',
// uncomment and adjust the following to add your IP if you are not connecting from localhost.
//'allowedIPs' => ['127.0.0.1', '::1'],
],
// ...
],
...
];
You must make some changes to your OS. See these examples:
- PHPStorm: https://github.com/aik099/PhpStormProtocol
- Sublime Text 3 on Windows or Linux: https://packagecontrol.io/packages/subl protocol
- Sublime Text 3 on Mac: https://github.com/inopinatus/sublime_url
Virtualized or dockerized ¶
If your application is run under a virtualized or dockerized environment, it is often the case that the application's
base path is different inside of the virtual machine or container than on your host machine. For the links work in those
situations, you can configure tracePathMappings
like this (change the path to your app):
'tracePathMappings' => [
'/app' => '/path/to/your/app',
],
Or you can create a callback for traceLine
for even more control:
'traceLine' => function($options, $panel) {
$filePath = $options['file'];
if (StringHelper::startsWith($filePath, Yii::$app->basePath)) {
$filePath = '/path/to/your/app' . substr($filePath, strlen(Yii::$app->basePath));
}
return strtr('<a href="ide://open?url=file://{file}&line={line}">{text}</a>', ['{file}' => $filePath]);
},
I tried install last version by composer, and it's not working because Opis\Closure\serialize blah blah blah in :66 line LogTarget.php , I try many version php but nothing. And after that I copy 2.0.0 version yii2-debug from another yii2 site and it's working (without opis I think). Fix it please.
Same problem with Call to undefined function Opis\Closure\serialize() in :66 line LogTarget.php
Last working version yii2-debug was 2.1.5. Since 2.1.6 it doesn't work
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.