14

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"
}

调试:

<pre class='xdebug-var-dump' dir='ltr'>
<b>array</b>
  'id' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'42'</font> <i>(length=2)</i>
  'name' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'Mao'</font> <i>(length=3)</i>
</pre>
4

4 回答 4

9

Mike B的解决方案,

ini_set('xdebug.overload_var_dump', 0);

不适用于我的安装。

但我可以这样做来抑制 html:

ini_set( 'html_errors' , 0 );

于 2010-08-29T14:17:27.667 回答
9

var_dump()你可以通过设置xdebug.overload_var_dump来关闭 Xdebug--overloading false。然后,您可以var_dump()在不需要额外的 HTML 格式以及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
于 2009-09-23T13:05:33.790 回答
6

xdebug.overload_var_dump="0"php.ini中设置解决了我的问题。

于 2012-05-27T10:58:29.713 回答
4

ini_set('xdebug.overload_var_dump', 0);在这里也不起作用。ini_set( 'html_errors' , 0 );确实有效,但有时可能会很慢。

作为一个简单的解决方法,您可以使用以下方法:

echo var_export($this);

这仅比普通的 var_dump 多 7 次按键。

于 2010-12-01T16:34:47.340 回答