2009-09-23 21 views
14

Xdebug muestra "var_dump" a su manera con más información útil, pero en Firebug no se puede leer.Var_dump ilegible en Firebug cuando xdebug está habilitado

Me preguntaba si había una manera de mostrar el var_dump en Firebug para hacerlo legible sin deshabilitar xdebug y también manteniendo la visualización del var_dump hecho por xdebug en PHP.

Ejemplos de var_dump mostradas en Firebug:

$test = array('id' => '42', 'name' => 'Mao'); 
var_dump($test); 

defecto:

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> 
+1

¿Qué significa 'ilegible'? Sin salida en absoluto? Salida ensuciada ¿Piezas perdidas? ... –

+0

Html se agregan al var_dump, en Firebug es más difícil leer la salida. – MaoTseTongue

+0

¿Estás usando FirePHP?Por lo que sé FirePHP es capaz de imprimir bastante objetos y matrices PHP, por lo que no hay necesidad de ejecutarlos a través de var_dump() –

Respuesta

9

Puede apagar Xdebug- var_dump() -overloading estableciendo xdebug.overload_var_dump a false . Luego puede usar var_dump() cuando no necesita el formato HTML adicional y xdebug_var_dump() cuando necesita una salida de depuración completamente formateada.

Pero como he escrito en mi comentario anterior, si usted está utilizando FirePHP, puede simplemente dejar que FirePHP formato a la salida de la consola de Firebug: solución

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

FirePHP funciona bien, gracias. – MaoTseTongue

9

Mike B 's,

ini_set('xdebug.overload_var_dump', 0);

no funcionó con mi instalación.

Pero yo puedo hacer esto para suprimir el html:

ini_set('html_errors' , 0);

+0

¡Su solución funcionó para mí! –

4

ini_set('xdebug.overload_var_dump', 0); no funciona aquí tampoco. ini_set('html_errors' , 0); funciona, pero a veces puede ser muy lento.

Como un simple solución podría usar esto:

echo var_export($this); 

que está a sólo 7 pulsaciones de teclas más que el var_dump normal.

6

Configuración xdebug.overload_var_dump="0" en php.ini resolvió el problema en mi caso.

1

Usted puede utilizar una alternativa:

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

Se trabaja con cero puesta a punto y tiene mucho más características que Xdebug de var_dump de todos modos.

Captura de pantalla:

Kint screenshot

Cuestiones relacionadas