如何在xdebug中禁用var_dump()?

11

当使用Xdebug和PHP应用程序时,是否有可能关闭var_dump()?我使用了几个var_dump(),这些都破坏了页面。我想要一些函数或方法,以便可以开启/关闭var_dump()的输出,并且可以查看整个页面结构,而不需要为了调试目的而显示已转储的数据。


1
手动注释或使用IDE查找和替换,这有多难? - user557846
如果您不想显示调试信息,那么记录到文件中如何?反正您最终也会删除或注释掉那些 var_dump 语句,是吧? - kidonchu
这些 var_dump() 不在一页中,很难一起查看并注释掉。当我完成项目时,我会注释掉所有内容,但现在还不是时候。我需要向一些人展示进度,但这些 var_dump() 使页面变得混乱。在展示后,我想将它们打开以显示这些信息。 - varuog
你不能编写自己的 var_dump 类似函数。在你的 IDE 中查找 var_dump 并将其替换为你的新函数。 - sectus
3个回答

39

将此内容放入php.ini设置中。

xdebug.overload_var_dump=0

否则,您也可以在运行时使用以下方法设置:

ini_set("xdebug.overload_var_dump", "off");

1
实际上,这只是关闭了xdebug格式,var_dump本身并没有被禁用。 - Marko
4
完美的解决方案! - Lord_Dracon
对我不起作用。使用xampp v3.2.2和Xdebug v2.2.5。 - Victor
@xzdead,别忘了重启Apache或FPM。 - Jekis
3
已移除 xdebug.overload_var_dump。详情请见:https://xdebug.org/docs/upgrade_guide#removed-xdebug.overload_var_dump - Alex

1
如果您不想让var_dump输出任何内容(无论是否使用xdebug)
// here var_dump is enabled
$varDumpEnabled = !true;
assert($varDumpEnabled, var_dump('whatever'));

简而言之,当assert1的第一个参数为false时,会执行var_dump;当assert的第一个参数为true时,则不会执行var_dump。保留html标签。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接