启用 xdebug 时 Firebug 中的 var_dump 不可读
Xdebug 以自己的方式显示“var_dump”并提供更多有用的信息,但在 Firebug 中是不可读的。
我想知道是否有一种方法可以在 Firebug 中显示 var_dump,使其可读,而无需禁用 xdebug,并保留 xdebug 在 PHP 中生成的 var_dump 的显示。
Firebug 中显示的 var_dump 示例:
$test = array('id' => '42', 'name' => 'Mao');
var_dump($test);
默认 :
array(2) {
["id"]=>
string(2) "42"
["name"]=>
string(3) "Mao"
}
Xdebug :
<pre class='xdebug-var-dump' dir='ltr'>
<b>array</b>
'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'42'</font> <i>(length=2)</i>
'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'Mao'</font> <i>(length=3)</i>
</pre>
Xdebug displays "var_dump" in its own way with more useful information, but in Firebug is unreadable.
I was wondering if there was a way to display the var_dump in Firebug to make it readable without disabling xdebug and also keeping the display of the var_dump made by xdebug in PHP.
Examples of var_dump displayed in Firebug:
$test = array('id' => '42', 'name' => 'Mao');
var_dump($test);
Default :
array(2) {
["id"]=>
string(2) "42"
["name"]=>
string(3) "Mao"
}
Xdebug :
<pre class='xdebug-var-dump' dir='ltr'>
<b>array</b>
'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'42'</font> <i>(length=2)</i>
'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'Mao'</font> <i>(length=3)</i>
</pre>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您可以通过将
xdebug.overload_var_dump
设置为false
来关闭 Xdebug-var_dump()
重载。然后,当您不需要额外的 HTML 格式时,可以使用var_dump()
;当您需要完全格式化的调试输出时,可以使用xdebug_var_dump()
。但正如我在上面的评论中所写,如果您使用 FirePHP,您可以简单地让 FirePHP 格式化输出在您的 Firebug 控制台中:
You can switch off Xdebug-
var_dump()
-overloading by settingxdebug.overload_var_dump
tofalse
. Then you can usevar_dump()
when you don't need the additional HTML-formatting andxdebug_var_dump()
when you require a fully formatted debug output.But as I wrote in my comment above, if you're using FirePHP, you can simply let FirePHP format the output in your Firebug console:
Mike B 的解决方案,
ini_set('xdebug.overload_var_dump', 0);
不适用于我的安装。
但我可以这样做来抑制 html:
ini_set( 'html_errors' , 0 );
Mike B's solution,
ini_set('xdebug.overload_var_dump', 0);
didn't work with my install.
But i can do this to supress the html :
ini_set( 'html_errors' , 0 );
在 php.ini 中设置 xdebug.overload_var_dump="0" 解决了我的问题。
Setting
xdebug.overload_var_dump="0"
in php.ini solved the problem in my case.ini_set('xdebug.overload_var_dump', 0);
在这里也不起作用。ini_set( 'html_errors' , 0 );
确实有效,但有时会很慢。作为一个简单的解决方法,您可以使用以下方法:
这比正常的 var_dump 只多了 7 次按键。
ini_set('xdebug.overload_var_dump', 0);
doesn't work here either.ini_set( 'html_errors' , 0 );
does work but it can be very slow sometimes.As a simple workaround you might use this:
Which is just 7 keypresses more than the normal var_dump.
我正在使用 wampserver 3.2.6,将
php.ini
编辑为:对我没有任何作用。但这有效:
现在输出没有格式化
I'm using wampserver 3.2.6, edited
php.ini
to:did nothing for me. But this one worked:
Now have outputs with no formating
我在使用 Wampserver 后有一段时间遇到这个问题,你左键单击 Wampserver 图标,然后:
PHP -> PHP 设置 -> xdebug.mode -> off
根据图片禁用xdebug.mode
I had this problem for some time after using Wampserver, you left-click on the Wampserver icon, then:
PHP -> PHP settings -> xdebug.mode -> off
Disable xdebug.mode according to the picture