14

Xdebugは、より有用な情報とともに「var_dump」を独自の方法で表示しますが、Firebugでは読み取り不能です。

xdebugを無効にしたり、PHPでxdebugによって作成されたvar_dumpの表示を維持したりせずに、Firebugでvar_dumpを表示して読み取り可能にする方法があるかどうか疑問に思いました。

Firebugに表示されるvar_dumpの例:

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

デフォルト :

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>
4

4 に答える 4

9

マイクBのソリューション、

ini_set('xdebug.overload_var_dump', 0);

私のインストールでは動作しませんでした。

しかし、私はhtmlを抑制するためにこれを行うことができます:

ini_set( 'html_errors' , 0 );

于 2010-08-29T14:17:27.667 に答える
9

var_dump()に設定xdebug.overload_var_dumpすると、Xdebug--overloadingをオフに切り替えることができますfalse。次にvar_dump()、追加のHTMLフォーマットが必要ない場合、およびxdebug_var_dump()完全にフォーマットされたデバッグ出力が必要な場合に使用できます。

しかし、上記のコメントで書いたように、FirePHPを使用している場合は、FirebugコンソールでFirePHPに出力をフォーマットさせることができます。

fb($variable, FirePHP::DUMP) // or
FB::dump('Key', $variable) // or
$firephp->dump('Key', $variable); // where $firephp is your FirePHP instance
于 2009-09-23T13:05:33.790 に答える
6

私の場合、 php.iniで設定xdebug.overload_var_dump="0"することで問題が解決しました。

于 2012-05-27T10:58:29.713 に答える
4

ini_set('xdebug.overload_var_dump', 0);ここでも機能しません。ini_set( 'html_errors' , 0 );動作しますが、非常に遅くなる場合があります。

簡単な回避策として、これを使用できます。

echo var_export($this);

これは、通常のvar_dumpよりも7回キーを押すだけです。

于 2010-12-01T16:34:47.340 に答える