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 https://github.com/yiisoft/yii2-debug/blob/master/docs/guide/README.md.
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.
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.
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:
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]);
},
yii\debug\Panel::getTraceLine()
to handle backtrace for internal PHP functions (zymeli)DbPanel::$criticalQueryThreshold
and ::$excessiveCallerThreshold
(MarkoNV, rhertogh)yii\debug\panels\DbPanel::$excessiveCallerThreshold
to null
(rhertogh)requestBody
(yus-ham)logTarget
config to be set as either a string, an array, or an LogTarget
object (Sarke)yii\debug\panels\DbPanel::$dbEventNames
that allows specifying event names used to get profile logs for db panel (atiline)traceLevel
on db panel (kjusupov)tracePathMappings
property to module (Sarke)DumpPanel
(Sarke)DumpPanel
extensible with varDumpCallback
(Sarke)View
events until action takes place (machour)AssetPanel
(machour)index.data
file is not accessible (machour)UrlRule
class used to generate rules in bootstrap (machour)pageTitle
property that allows setting page title to be used (m-wardany)Logger::LEVEL_TRACE
(pistej, simialbi)->get()
for dependencies (samdark)UserSwitch
and UserPanel
(samdark)default/view
not to depend on db
panel (silverfire)id
(samdark)isMainUser()
on null regression in 2.0.10 (samdark)\yii\rbac\ManagerInterface
(pana1990)innerText
instead of innerHTML
(samdark)RequestPanel::$displayVars
that lists allowed variables in request panel (samdark)identityData()
method, making it easier for subclasses to customize (brandonkelly)AssetPanel
error when bundle $js
or $css
contained jsOptions
overrides (Razzwan, samdark)LogTarget
to work properly when tests are ran via Codeception (samdark, nlmedina)ConfigPanel
to detect and report memcached extension presence (samdark)log
(mikehaertl)Module::setYiiLogo()
(brandonkelly)ConfigPanel
(klimov-paul)yii\debug\Module::defaultVersion()
implemented to pick up 'yiisoft/yii2-debug' extension version (klimov-paul)ToolbarAsset
class (samdark)UrlManager::ruleConfig
class was setted with yii\rest\UrlRule
(lichunqiang)Yii::$app->db
is not an instance of yii\db\Connection
(cebe, jafaripur)LogTarget::collect()
to call export()
in a proper way (cornernote)yii\debug\Module::panels
as panel class name strings (qiangxue)DefaultController::getManifest()
more robust against corrupt files (cebe)yii\debug\Module::enableDebugLogs
to disable logging debug logs by default (qiangxue)run()
to execute another action (qiangxue)
Comments