美文网首页

安装XDebug后,在ajax传值调试时,用var_dump()打印变量、TP框架中dump()/halt()打印变量时response结果总是出现两个<pre>原样输出的问题,即双重输出<pre>标签,如下图所示:

image

原因:启用xdebug调试后,var_dump()和tp中的dump()、halt()输出时,会自动加上<pre>

解决方法:
1、关闭XDebug调试,该方法不推荐。
2、在php.ini中的[Xdebug]选项中增加设置项,关闭xdebug下var_dump()的重载。

xdebug.overload_var_dump = 0

对于xdebug.overload_var_dump,当

  • 设置为0时,关闭var_dump()重载,原样输出
  • 设置为1时,启用xdebug的var_dump()重载

这样,在调试时输出效果可读性好很多:

image image