Php Xdebug不能与var_dump()一起使用
我不知道为什么,但是xdebug没有突出显示var_dump()。但配置似乎很好。不知道为什么。。。有什么建议吗 这是我的phpinfo() 另外,即使是xdebug\u var\u dump()也不会突出显示任何内容。它可以工作,但看起来像普通的var\u dump()。我在php\u info()中找到了选项“xdebug.default\u enable Off”。我还注意到,在EasyHP的最新版本中,此选项已关闭。因此,通过在php.ini中设置这一行来打开它:Php Xdebug不能与var_dump()一起使用,php,xdebug,var-dump,Php,Xdebug,Var Dump,我不知道为什么,但是xdebug没有突出显示var_dump()。但配置似乎很好。不知道为什么。。。有什么建议吗 这是我的phpinfo() 另外,即使是xdebug\u var\u dump()也不会突出显示任何内容。它可以工作,但看起来像普通的var\u dump()。我在php\u info()中找到了选项“xdebug.default\u enable Off”。我还注意到,在EasyHP的最新版本中,此选项已关闭。因此,通过在php.ini中设置这一行来打开它: xdebug.defa
xdebug.default_enable=1
下一步是完全禁用HTML输出中的var_dump和其他错误的常见操作(不是您的情况,但可能对其他人有帮助):
对于PHP7.0.2和xdebug 2.4.0
xdebug.default_enable=1
+
仍然不为xdebug\u var\u dump()输出着色
但是这个补丁解决了我的问题。它仅适用于xdebug.c和xdebug_var_dump()。我认为他们犯了一个错误,即xdebug_var_dump只有在需要重载函数时才起作用
@@ -2191,11 +2191,6 @@
int i, len;
char *val;
- if (!XG(overload_var_dump)) {
- XG(orig_var_dump_func)(INTERNAL_FUNCTION_PARAM_PASSTHRU);
- return;
- }
-
argc = ZEND_NUM_ARGS();
#if PHP_VERSION_ID >= 70000
在php.ini中关闭xdebug.mode=debug,如 );xdebug.mode=debug
然后重新启动Apache。对于Xdebug 3,您需要在php.ini中启用开发模式:
xdebug.mode= develop
您还可以按照说明同时使用多种模式。正如@Shadoweb for Xdebug v3所述,您希望
debug
允许在断点处停止,并develope
格式化var\u dump
因此,在php.ini中可能需要以下内容:
xdebug.mode=develop,debug
另外,我还需要
xdebug.start\u with_request=yes
来替换重命名的xdebug.xdebug.remote\u enable=1
设置,以便在我的IDE中进行步骤调试。谢谢,刚刚发现html\u错误被窃听了很长时间,因为它们在我的php.ini中被默认禁用。对于您来说,upvoteas还可以确保xdebug.overload\u var\u dump
为1或2。如果设置为0,它将不会替换默认的phpvar_dump
,但它不会在断点处停止。但是您可以组合多种模式,因此请确保至少有xdebug.mode=develope,debug
这应该是最上等的答案b/c将其设置为刚好develope
将停止断点工作这里是文档中的链接,说明实际上官方支持用逗号分隔的多个值-
xdebug.mode= develop
xdebug.mode=develop,debug