在 VS Code 中调试远程 Turnkey Linux LAMP 服务器上的 PHP

问题描述 投票:0回答:1

我已经尝试在 VS Code 中进行调试几个小时,并阅读了每个教程和问答,但没有成功。

我有一台使用 Turnkey Linux LAMP 和 PHP 7.4 和 Xdebug 3 的服务器。

在另一台 Windows 计算机上,我正在运行 VS Code 并正在尝试调试。

我尝试了各种设置,但目前 VS Code launch.json 看起来像这样?

{
    "name": "Listen for Xdebug",
    "type": "php",
    "request": "launch",
    "port": 9003,
    "hostname": "192.168.20.110",
    "pathMappings": {
        "/var/websites/test": "${workspaceFolder}/",
    }
}

在服务器上,PHP.ini 看起来像这样,尽管我尝试过各种:

[xdebug]
xdebug.mode=develop,debug
xdebug.discover_client_host=1
xdebug.client_port = 9003
xdebug.start_with_request=yes

每当我按下 VS Code 中的运行按钮时,我都会收到“listen EADDRNOTAVAIL:地址不可用 192.168.20.110:9003”。

我尝试在服务器上为端口 9003 创建防火墙例外。

我已经在 Chrome 中安装了 Xdebug 扩展。

我错过了什么?

visual-studio-code xdebug lamp turnkeylinux.org
1个回答
0
投票

问题似乎可能与您的

launch.json
文件中指定的地址有关。错误“EADDRNOTAVAIL:地址不可用”表明指定的 IP 地址无法访问或未分配给您的服务器。

以下是一些排除和解决问题的建议:

  1. 检查服务器IP地址:

    • 确认 IP 地址
      192.168.20.110
      是您的 Turnkey Linux LAMP 服务器的正确 IP 地址。您可以在服务器上使用
      ifconfig
      ip a
      命令检查 IP 地址。
  2. 使用“localhost”或“127.0.0.1”作为主机名:

    • 不要使用服务器的 IP 地址,而是尝试使用“localhost”或“127.0.0.1”作为
      "hostname"
      文件中的
      launch.json
      。这有时可以解决连接问题。
    "hostname": "localhost",
    
  3. 检查防火墙设置:

    • 仔细检查服务器上的防火墙设置。确保端口
      9003
      已打开且可访问。您可能需要为此端口创建例外。
  4. 验证 Xdebug 设置:

    • 确保 Xdebug 在 PHP 设置中配置正确。您的配置看起来很合理,但请仔细检查 Xdebug 是否已正确安装并启用。
  5. 验证 PHP 进程:

    • 确保服务器上的 PHP 进程正在使用 Xdebug。您可以使用
      phpinfo()
      函数检查 Xdebug 是否已加载。
  6. 检查多个 Xdebug 配置:

    • 确保其他文件中没有冲突的 Xdebug 配置。有时,
      .ini
      文件中的其他配置可能会导致冲突。
  7. 重新启动服务:

    • 更改 PHP 配置后,重新启动 Web 服务器(例如 Apache)以应用更改。
  8. 查看 VS 代码输出:

    • 查看 VS Code 中的输出窗口,了解任何其他错误消息或有关调试尝试的信息。它可能会提供更多关于问题所在的见解。
  9. 尝试不同的端口:

    • 如果问题仍然存在,请尝试在
      launch.json
      文件中使用其他端口。确保您选择的端口没有被防火墙阻止。
    "port": 9000,
    
  10. 检查拼写错误:

    • 仔细检查
      launch.json
      文件中是否有任何拼写错误或语法错误。
  11. 在 Chrome 中重新安装 Xdebug 扩展:

    • 从 Chrome 中删除 Xdebug 扩展并重新安装。确保分机配置正确。

进行任何更改后,重新启动服务器并重试。如果问题仍然存在,请检查每个步骤以确保配置的准确性和一致性。

© www.soinside.com 2019 - 2024. All rights reserved.