Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unreadable var_dump in Firebug when xdebug is enabled

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>
like image 357
MaoTseTongue Avatar asked Sep 23 '09 12:09

MaoTseTongue


2 Answers

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
like image 191
Stefan Gehrig Avatar answered Oct 23 '22 20:10

Stefan Gehrig


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

like image 27
imme Avatar answered Oct 23 '22 21:10

imme