php 启用xdebug时,Firebug中的var_dump不可读

t30tvxxf  于 2022-12-10  发布在  PHP
关注(0)|答案(5)|浏览(168)

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>
bxgwgixi

bxgwgixi1#

您可以通过将xdebug.overload_var_dump设置为false来关闭Xdebug-var_dump()-重载。然后,当您不需要额外的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
cwdobuhd

cwdobuhd2#

Mike B解决方案,
ini_set('xdebug.overload_var_dump', 0);
我的安装不起作用。
但是我可以这样做来抑制html:
ini_set( 'html_errors' , 0 );

db2dz4w8

db2dz4w83#

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

vqlkdk9b

vqlkdk9b4#

ini_set('xdebug.overload_var_dump', 0);在这里也不起作用。ini_set( 'html_errors' , 0 );确实起作用,但有时会非常慢。
作为一种简单的解决方法,您可以使用以下方法:

echo var_export($this);

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

pvabu6sv

pvabu6sv5#

我使用的是wampserver 3.2.6,编辑的php.ini:
xdebug.overload_var_dump=关闭
对我没什么帮助。但这个很管用:
xdebug.mode=关闭
现在具有无格式输出

相关问题