8

我不知道为什么,但是 xdebug 没有突出显示 var_dump()。但是配置似乎很好。不知道为什么...有什么建议吗?

这是我的 phpinfo(); http://pastebin.com/A45dqnWN

加上甚至 xdebug_var_dump() 也没有突出任何东西。它可以工作,但看起来像普通的 var_dump()。

4

5 回答 5

23

我在你的 php_info() 中找到了“xdebug.default_enable Off Off”选项。我还注意到,在 EasyPHP 的最新版本中,此选项已关闭。所以通过在 php.ini 中设置这一行来打开它:

xdebug.default_enable=1

接下来是完全禁用 var_dump 和 HTML 输出中的其他错误的常见操作(不是您的情况,但可能对其他人有帮助):

html_errors = On
于 2012-09-19T18:06:08.570 回答
9

对于 Xdebug 3,您需要在 php.ini 中启用开发模式:

xdebug.mode= develop

您还可以按照此处的说明一次使用多种模式。

于 2021-01-21T07:18:04.820 回答
4

正如@Shadoweb for Xdebug v3 所述,您希望debug允许在断点处停止,并develop格式化var_dump

因此,您可能会在 php.ini 中需要以下内容:

xdebug.mode=develop,debug

顺便说一句,我还需要xdebug.start_with_request=yes替换重命名的xdebug.xdebug.remote_enable=1设置才能在我的 IDE 中进行步进调试。

于 2021-05-25T15:53:38.407 回答
1

对于 php 7.0.2 和 xdebug 2.4.0

xdebug.default_enable=1

+

html_errors = On

仍然没有着色 xdebug_var_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
于 2016-01-28T18:51:35.833 回答
0

在 php.ini 中关闭 xdebug.mode=debug 之类的

;xdebug.mode=调试

并重新启动 Apache。

于 2020-12-17T09:57:14.183 回答