xdebug가 활성화 될 때 Firebug에서 읽을 수없는 var_dump
-
13-09-2019 - |
문제
Xdebug는 더 유용한 정보를 가진 자체 방식으로 "var_dump"를 표시하지만 Firebug에서는 읽을 수 없습니다.
XDEBUG를 비활성화하지 않고 읽을 수 있도록 FireBug에 VAR_DUMP를 표시 할 수있는 방법이 있는지 궁금했습니다. 또한 PHP에서 Xdebug가 만든 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'>=></font> <small>string</small> <font color='#cc0000'>'42'</font> <i>(length=2)</i>
'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'Mao'</font> <i>(length=3)</i>
</pre>
해결책
xdebug를 끄십시오.var_dump()
-설정을 통해로드 xdebug.overload_var_dump
에게 false
. 그런 다음 사용할 수 있습니다 var_dump()
추가 HTML 형식이 필요하지 않은 경우 xdebug_var_dump()
완전히 형식의 디버그 출력이 필요한 경우.
하지만 위의 내 의견에 쓴 것처럼 사용하는 경우 Firephp, 당신은 단순히 Firebug 콘솔의 출력을 형식화 할 수 있습니다.
fb($variable, FirePHP::DUMP) // or
FB::dump('Key', $variable) // or
$firephp->dump('Key', $variable); // where $firephp is your FirePHP instance
다른 팁
마이크 b솔루션,
ini_set('xdebug.overload_var_dump', 0);
내 설치와 함께 작동하지 않았습니다.
그러나 나는 HTML을 억압하기 위해 이것을 할 수 있습니다.
ini_set( 'html_errors' , 0 );
환경 xdebug.overload_var_dump="0"
안에 php.ini 제 경우에는 문제를 해결했습니다.
ini_set('xdebug.overload_var_dump', 0);
여기서도 작동하지 않습니다. ini_set( 'html_errors' , 0 );
작동하지만 때로는 매우 느릴 수 있습니다.
간단한 해결 방법으로 다음을 사용할 수 있습니다.
echo var_export($this);
이것은 일반적인 var_dump보다 7 개의 키 압력입니다.
대안을 사용할 수 있습니다.
http://raveren.github.io/kint/
셋업 제로에서 작동하며 Xdebug의 기능보다 훨씬 더 많은 기능이 있습니다. var_dump
그래도.
스크린 샷 :