Question

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'>=&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>
Was it helpful?

Solution

You can switch off Xdebug-var_dump()-overloading by setting xdebug.overload_var_dump to false. Then you can use var_dump() when you don't need the additional HTML-formatting and xdebug_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:

fb($variable, FirePHP::DUMP) // or
FB::dump('Key', $variable) // or
$firephp->dump('Key', $variable); // where $firephp is your FirePHP instance

OTHER TIPS

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 );

Setting xdebug.overload_var_dump="0" in php.ini solved the problem in my case.

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:

echo var_export($this);

Which is just 7 keypresses more than the normal var_dump.

You can use an alternative:

http://raveren.github.io/kint/

It works with zero set-up and has much more features than Xdebug's var_dump anyway.

Screenshot:

Kint screenshot

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top