2009-09-23 2 views
14

Xdebug는 "var_dump"를 더 유용한 정보와 함께 자체 방식으로 표시하지만 Firebug에서는 읽을 수 없습니다.xdebug가 활성화 된 경우 Firebug에서 읽을 수없는 var_dump

파이어 버그에 var_dump를 표시하여 xdebug를 비활성화하지 않고 PHP에서 xdebug로 만든 var_dump를 표시하지 않고 읽을 수있게하는 방법이 있는지 궁금합니다. 방화범에 표시 위해서 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> 
+1

'읽을 수'는 무엇을 의미합니까? 출력이 전혀 없습니까? 엉망인 출력? 누락 된 조각? ... –

+0

Html은 var_dump에 추가됩니다. Firebug에서는 출력을 읽기가 더 어렵습니다. – MaoTseTongue

+0

FirePHP를 사용하고 있습니까?내가 아는 한 FirePHP는 PHP 객체와 배열을 멋지게 인쇄 할 수 있으므로 var_dump()를 통해 실행할 필요가 없습니다. –

답변

9

당신은 falsexdebug.overload_var_dump을 설정하여 Xdebug- var_dump() -overloading을 끌 수 있습니다 . 그런 다음 추가 HTML 형식이 필요하지 않은 경우 var_dump()을 사용할 수 있으며 완전히 형식이 지정된 디버그 출력이 필요한 경우 xdebug_var_dump()을 사용할 수 있습니다.

하지만 위 내 댓글에 쓴대로 FirePHP를 사용하는 경우, 당신은 단순히 FirePHP이 방화범 콘솔에서 출력을 포맷 할 수 있습니다

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

FirePHP는 훌륭하게 작동합니다. – MaoTseTongue

9

Mike B의 솔루션,

ini_set('xdebug.overload_var_dump', 0);

은 설치시 작동하지 않았습니다.

하지만 난 HTML을이 표시되지 않도록이 작업을 수행 할 수 있습니다

+0

당신의 솔루션이 저에게 효과적이었습니다! –

4

ini_set('xdebug.overload_var_dump', 0);

ini_set('html_errors' , 0); 중 하나를 여기에 작동하지 않습니다. ini_set('html_errors' , 0);은 작동하지만 때로는 매우 느릴 수 있습니다.

간단한 해결 방법으로 당신은이를 사용할 수 있습니다 :

echo var_export($this); 

일반 위해서 var_dump에 비해 단지 7 키 누름 더된다.

6

설정 xdebug.overload_var_dump="0"에 내 php.ini 내 경우에는 문제가 해결되었습니다.

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

제로 셋업과 작동 Xdebug는의 var_dump 어쨌든보다 훨씬 더 많은 기능을 가지고 있습니다 :

1

당신은 대안을 사용할 수 있습니다.

스크린 샷 :

Kint screenshot

관련 문제