Xdebug以自己的方式显示“var_dump”,提供更多有用的信息,但在Firebug中是不可读的。
我想知道是否有办法在Firebug中显示var_dump,使其在不禁用xdebug的情况下可读,并且还在PHP中保持xdebug显示的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>
答案 0 :(得分:9)
您可以通过将var_dump()
设置为xdebug.overload_var_dump
来关闭Xdebug - false
- 重载。然后,当您不需要额外的HTML格式时,可以使用var_dump()
,当需要完全格式化的调试输出时,可以使用xdebug_var_dump()
。
但正如我在上面的评论中所写,如果您使用的是FirePHP,则可以让FirePHP格式化Firebug控制台中的输出:
fb($variable, FirePHP::DUMP) // or
FB::dump('Key', $variable) // or
$firephp->dump('Key', $variable); // where $firephp is your FirePHP instance
答案 1 :(得分:9)
Mike B的解决方案,
ini_set('xdebug.overload_var_dump', 0);
无法使用我的安装。
但我可以这样做来压制html:
ini_set( 'html_errors' , 0 );
答案 2 :(得分:6)
在 php.ini 中设置xdebug.overload_var_dump="0"
解决了我的问题。
答案 3 :(得分:4)
ini_set('xdebug.overload_var_dump', 0);
在这里也不起作用。 ini_set( 'html_errors' , 0 );
确实有效,但有时可能会很慢。
作为一种简单的解决方法,您可以使用它:
echo var_export($this);
只有7个按键比正常的var_dump更多。
答案 4 :(得分:1)