Cómo hacer que xdebug var_dump muestre el objeto/matriz completa
Estoy usando xdebug (php_xdebug-2.1.2-5.3-vc9.dll) en WAMP . Cuando lo uso var_dump
en un objeto o variable grande, no muestra la variable completa.
array
'node' =>
array
'my_form' =>
array
'form' =>
array
...
Sin xdebug se muestra como se esperaba. Miré la documentación pero no vi una solución. ¿Alguien sabe cómo puedo solucionar este problema para que xdebug var_dump
muestre el objeto completo ?
Estas son variables configurables en php.ini:
; with sane limits
xdebug.var_display_max_depth = 10
xdebug.var_display_max_children = 256
xdebug.var_display_max_data = 1024
; with no limits
; (maximum nesting is 1023)
xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
Por supuesto, estos también se pueden configurar en tiempo de ejecución a través de ini_set()
, lo cual es útil si no desea modificar php.ini y reiniciar su servidor web pero necesita inspeccionar rápidamente algo más profundamente.
ini_set('xdebug.var_display_max_depth', 10);
ini_set('xdebug.var_display_max_children', 256);
ini_set('xdebug.var_display_max_data', 1024);
La configuración de Xdebug se explica en la documentación oficial .
Sé que esta es una publicación muy antigua, pero pensé que aún podría ser útil.
Si se siente cómodo leyendo el formato json, puede reemplazar su var_dump con:
return json_encode($myvar);
He estado usando esto para ayudar a solucionar problemas de un servicio que he estado creando y que tiene algunas matrices profundamente anidadas. Esto devolverá todos los niveles de su matriz sin truncar nada ni requerir que cambie su archivo php.ini.
Además, debido a que los datos json_encoded son una cadena, significa que puede escribirlos fácilmente en el registro de errores.
error_log(json_encode($myvar));
Probablemente no sea la mejor opción para cada situación, ¡pero es una opción!
O puedes usar una alternativa:
https://github.com/php-sage/sage
Funciona sin configuración y de todos modos tiene muchas más funciones que var_dump de Xdebug. Para evitar el límite anidado sobre la marcha con Sage, simplemente use
+d( $variable ); // append `+` to the dump call