【问题标题】:How do I set up VS CODE PHP-DEBUG on a (Synology) NAS? / remote device如何在 (Synology) NAS 上设置 VS CODE PHP-DEBUG? / 远程设备
【发布时间】:2021-07-02 11:23:55
【问题描述】:

在这个上转圈圈。

通过本地安装 xampp 设置,我可以让 PHP-DEBUG 在两种标准模式下正常工作:

  1. “监听 XDebug”和
  2. “启动当前打开的脚本”

尝试将其移至远程机器 - 特别是 Synology NAS。

在 VS Code 中,我可以通过标准 SMB 路径连接文件夹,例如:

//[nas]/web/[project]

在本地主机中,我映射到该站点,这是通过 Synology DiskStation 中的虚拟主机进行管理的,并且工作正常,例如

10.x.y.z dev.mysite.com

我正在尝试设置主机名、路径映射、xdebug.remote_host(设置为 NAS IP)、xdebug.idekey(VSCODE)、xdebug.remote_connect_back(ON)等建议的所有方式,但实际上没有得到任何结果——最近死了end 是一个错误:

message: 'listen EADDRNOTAVAIL: address not available 10.x.y.z:9001'

注意 - 使用端口 9001 来避免其他地方的冲突...

launch.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",
            "hostname": "dev.mysite.com",
            "port": 9001,
            "pathMappings": {
                "/": "${workspaceFolder}"
              },
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "hostname": "dev.mysite.com",
            "port": 9001,
            "pathMappings": {
                "//[nas]/web/[project]": "${fileDirname}"
            },
            "log": true,
        }
    ]
}

帮助.....

【问题讨论】:

    标签: php visual-studio-code xdebug synology


    【解决方案1】:

    "xdebug.remote_host (设置为 NAS IP),"

    不。那总是错的。 xdebug.remote_host(现在是 Xdebug 3 中的 xdebug.client_host)需要指向运行 IDE 的机器。建立连接的是 Xdebug

    此外,这些设置对 Xdebug 3 没有任何作用,它是最新(也是唯一受支持的)版本。请阅读Upgrade Guide

    【讨论】:

    • 啊。这更有意义。我已经进行了建议的更改,但不幸的是这并没有解决问题。在使用所有部件都在包中的 Synology 时升级 PHP / xDebug 等的能力有限。我可以尝试走 Docker 路线以获得更可控的 Apache / PHP / xdebug 环境,但不希望这样做,因为这对我和我的儿子来说是一个业余爱好者 / 开发设置,所以我们在这里的技术能力受到限制.干杯
    • @MIkFo 1) 使用实际配置更新您的问题(来自 php.ini 的 Xdebug 设置 + phpinfo() 输出的整个 Xdebug 部分 - 必须以与您尝试相同的方式捕获调试:CLI 或网页) 2)启用 Xdebug 日志,尝试调试并查看它的内容(如果它尝试连接,响应在哪里以及响应是什么)。 3)如果它尝试但失败/没有响应 - 错误的 IP:端口 .. 或防火墙(NAS 或您的目标 PC)。
    • 所以 PORT 的问题与 @Derick 指出的 xdebug.remote_host 相同(相似)在端口 9000 上的 client 上没有冲突,但是 在 9001 (ntoskrnl.exe) 上 移回端口 9000,我现在需要做的就是修复路径映射。到达那里!谢谢,
    猜你喜欢
    • 2013-12-03
    • 2018-10-19
    • 1970-01-01
    • 2017-06-21
    • 2020-05-17
    • 2023-04-06
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    相关资源
    最近更新 更多