【php】Xdebugのvar_dump()の出力内容を設定したい
問題
Xdebugの導入された環境でvar_dump()をすると、見たい情報が全部見えない。
“more elements…”とかちょっと困る。。。
答え
Xdebugがvar_dump()関数を上書きしてしまうのをやめるのは、php.iniで以下を設定すればよい。
xdebug.overload_var_dump = 0
ただ、これだと、.htaccessなどでは設定ができない、サーバー全体に影響するなど、手軽ではない。
他に手はないか?
案1)xdebug.var_display_* を設定する
Xdebugの設定がいろいろとある中で、var_dump()の出力にかかわる項目に以下がある。
- xdebug.var_display_max_children (初期値 128。データの数の最大値。)
- xdebug.var_display_max_data (初期値 512。データを表示するときの最大文字数。)
- xdebug.var_display_max_depth (初期値 3。配列等を表示するときの最大の深さ。)
無制限にvar_dump()して欲しいときなら以下のように設定する。
ini_set('xdebug.var_display_max_children', -1); ini_set('xdebug.var_display_max_data', -1); ini_set('xdebug.var_display_max_depth', -1);
案2)html_errors を Off に
phpの実行時設定で、html_errorsをOffにすると、普通のvar_dump()の出力をしてくれる。ini_set()で設定できるので、必要な部分だけに適用できる。
ini_set('html_errors', 0);
参考
設定項目一覧 http://xdebug.org/docs/all_settings
var_dump()表示例 http://xdebug.org/docs/display
コメント