Как получить дамп xdebug var, чтобы показать полный объект / массив
Я использую xdebug (php_xdebug-2.1.2-5.3-vc9.dll) на WAMP. Когда я использую var_dump на большом объекте или переменной он не показывает полную переменную.
array
'node' =>
array
'my_form' =>
array
'form' =>
array
...
без xdebug он показывает, как и следовало ожидать. Я посмотрел на документацию, но не вижу решения. Кто-нибудь знает, как я могу исправить это так xdebug var_dump показывает полное
6 ответов:
это настраиваемые переменные в 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конечно, они также могут быть установлены во время выполнения через
ini_set(), полезно, если вы не хотите изменять php.ini и перезагрузить веб-сервер, но нужно быстро проверить что-то более глубоко.ini_set('xdebug.var_display_max_depth', '10'); ini_set('xdebug.var_display_max_children', '256'); ini_set('xdebug.var_display_max_data', '1024');
Я знаю, что это супер старый пост, но я решил, что это все еще может быть полезно.
Если вам удобно читать формат json, вы можете заменить свой var_dump на:
return json_encode($myvar);Я использую это, чтобы помочь устранить неполадки службы, которую я строил, которая имеет некоторые глубоко вложенные массивы. Это вернет каждый уровень вашего массива, не усекая ничего и не требуя, чтобы вы изменили свой php.ini-файл.
кроме того, поскольку данные json_encoded являются строка это означает, что вы можете легко записать его в журнал ошибок
error_log(json_encode($myvar));Это, вероятно, не лучший выбор для каждой ситуации, но это выбор!
или вы можете использовать альтернативу:
https://github.com/kint-php/kint
Он работает с нулевой настройкой и имеет гораздо больше возможностей, чем var_dump Xdebug в любом случае. Чтобы обойти вложенный предел на лету с Kint, просто используйте
+d( $variable ); // append `+` to the dump call
оформить заказ настройки var_dump Xdebbug, в частности, значения этих параметров:
xdebug.var_display_max_children xdebug.var_display_max_data xdebug.var_display_max_depth
Я хотел бы рекомендовать
var_export($array)- Он не показывает типы, но он генерирует синтаксис, который вы можете использовать в своем коде:)
Comments