首页 > 解决方案 > 经过几个月的完美工作后,Xdebug 停止了与客户的联系

问题描述

几天前 PHP Debug using Xdebug in my VSCode on Windows 10 停止使用 Xdebug 给出以下错误:E:连接到客户端超时(等待:200 毫秒)。:-(。我重新安装了不同版本的PHP,VSCode和PHP Debug,更改了端口,一切都失败了。我完全禁用了防火墙,它仍然以同样的方式失败。这是我的相关内容:php .ini:

[XDebug]
zend_extension = C:\php\ext\php_xdebug-2.7.0RC2-7.3-vc15-nts-x86_64.dll
xdebug.default_enable = 1
xdebug.scream = 1
xdebug.coverage_enable = 1
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "C:\php\profiles"
xdebug.remote_enable = 1
xdebug.remote_autostart  = 1
xdebug.remote_host=127.0.0.1
xdebug.remote_port = 9345

启动.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9345
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }
    ]
}

php.info

xdebug
xdebug support  enabled
Version     2.7.0RC2
IDE Key     VSCODE
Supported protocols
DBGp - Common DeBuGger Protocol
Directive   Local Value Master Value
xdebug.auto_trace   Off Off
xdebug.cli_color    0   0
xdebug.collect_assignments  Off Off
xdebug.collect_includes On  On
xdebug.collect_params   0   0
xdebug.collect_return   Off Off
xdebug.collect_vars Off Off
xdebug.coverage_enable  On  On
xdebug.default_enable   On  On
xdebug.dump.COOKIE  no value    no value
xdebug.dump.ENV no value    no value
xdebug.dump.FILES   no value    no value
xdebug.dump.GET no value    no value
xdebug.dump.POST    no value    no value
xdebug.dump.REQUEST no value    no value
xdebug.dump.SERVER  no value    no value
xdebug.dump.SESSION no value    no value
xdebug.dump_globals On  On
xdebug.dump_once    On  On
xdebug.dump_undefined   Off Off
xdebug.extended_info    On  On
xdebug.file_link_format no value    no value
xdebug.filename_format  no value    no value
xdebug.force_display_errors Off Off
xdebug.force_error_reporting    0   0
xdebug.gc_stats_enable  Off Off
xdebug.gc_stats_output_dir  C:\Windows\Temp C:\Windows\Temp
xdebug.gc_stats_output_name gcstats.%p  gcstats.%p
xdebug.halt_level   0   0
xdebug.idekey   no value    no value
xdebug.max_nesting_level    256 256
xdebug.max_stack_frames -1  -1
xdebug.overload_var_dump    2   2
xdebug.profiler_aggregate   Off Off
xdebug.profiler_append  Off Off
xdebug.profiler_enable  Off Off
xdebug.profiler_enable_trigger  On  On
xdebug.profiler_enable_trigger_value    no value    no value
xdebug.profiler_output_dir  C:\php\profiles C:\php\profiles
xdebug.profiler_output_name cachegrind.out.%p   cachegrind.out.%p
xdebug.remote_addr_header   no value    no value
xdebug.remote_autostart On  On
xdebug.remote_connect_back  Off Off
xdebug.remote_cookie_expire_time    3600    3600
xdebug.remote_enable    On  On
xdebug.remote_handler   dbgp    dbgp
xdebug.remote_host  127.0.0.1   127.0.0.1
xdebug.remote_log   no value    no value
xdebug.remote_mode  req req
xdebug.remote_port  9345    9345
xdebug.remote_timeout   200 200
xdebug.scream   On  On
xdebug.show_error_trace Off Off
xdebug.show_exception_trace Off Off
xdebug.show_local_vars  Off Off
xdebug.show_mem_delta   Off Off
xdebug.trace_enable_trigger Off Off
xdebug.trace_enable_trigger_value   no value    no value
xdebug.trace_format 0   0
xdebug.trace_options    0   0
xdebug.trace_output_dir C:\Windows\Temp C:\Windows\Temp
xdebug.trace_output_name    trace.%c    trace.%c
xdebug.var_display_max_children 128 128
xdebug.var_display_max_data 512 512
xdebug.var_display_max_depth    3   3

请帮我让它重新开始工作:)

标签: phpvisual-studio-codewindows-10xdebugvscode-debugger

解决方案


事实证明,答案很简单,真的。首先在 VS Code 中,我从 brapifra 安装了 PHP 服务器扩展(版本 2.4.6),并将以下行添加到 settings.json 文件中:

{ ...

"phpserver.phpPath": "这里是安装了 xdebug 的 php.exe 文件的路径,例如:c:\php\php.exe",

...

}

完成上述操作后,按照给定的确切顺序执行以下操作很重要:

  1. 在VS CODE中打开要调试的文件按F5(开始调试)
  2. 点击“PHP Server: Serve Project”图标(在 VS Code 的右上角)

瞧!

这一切都归结为正确的处理顺序,因为如果您首先提供文件然后运行调试器,则会出现“连接到客户端超时”错误。

希望其他新手在阅读这篇文章后能节省一些时间;-)


推荐阅读