var_dump غير قابل للقراءة في Firebug عند تمكين XDebug
-
13-09-2019 - |
سؤال
يعرض XDEBUG "var_dump" بطريقته الخاصة مع معلومات أكثر فائدة، ولكن في Firebug غير قابل للقراءة.
كنت أتساءل عما إذا كانت هناك طريقة لعرض var_dump في Firebug لجعلها مقروءة دون تعطيل XDebug وأيضا الحفاظ على عرض VAR_DUMG بواسطة XDebug في PHP.
أمثلة var_dump المعروضة في Firebug:
$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>
المحلول
يمكنك إيقاف تشغيل XDebugvar_dump()
التحميل حسب الإعداد xdebug.overload_var_dump
ل false
. وبعد ثم يمكنك استخدام var_dump()
عندما لا تحتاج إلى تنسيق HTML إضافي و xdebug_var_dump()
عندما تحتاج إلى إخراج تصحيح منسق بالكامل.
ولكن كما كتبت في تعليقي أعلاه، إذا كنت تستخدم firephp., ، يمكنك ببساطة السماح بتنسيق FIREPHP الإخراج في وحدة التحكم في Firebug:
fb($variable, FirePHP::DUMP) // or
FB::dump('Key', $variable) // or
$firephp->dump('Key', $variable); // where $firephp is your FirePHP instance
نصائح أخرى
مايك بالحل،
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);
الذي هو فقط 7 قناة أكثر من var_dump العادي.
يمكنك استخدام بديل:
http://raveren.github.io/kint/
يعمل مع إعداد صفر وله ميزات أكثر بكثير من XDEBUG var_dump
على أي حال.
لقطة شاشة: