如何使用 Ubuntu 22.04 在 VSCode 中启用 XDebug

How to enable XDebug in VSCode with Ubuntu 22.04

提问人:Tola 提问时间:10/24/2023 最后编辑:Tola 更新时间:10/24/2023 访问量:88

问:

我遵循了多个指南,但似乎没有一个提供正确的解决方案,而且大多数都已经过时了。XDebug 不工作。

环境:Ubuntu 22.04,PHP 8.1,Laravel 10。

我有工作 laravel 安装,我开发:

php artisan serve

我已经安装了 XDebug PHP 扩展:

sudo apt install php-xdebug

配置文件似乎位于 ./etc/php/8.1/mods-available/xdebug.ini

我已经安装了 XDebug VSCode 插件,并在 VSCode 中使用默认内容进行了创建。launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Listen for Xdebug",
      "type": "php",
      "request": "launch",
      "port": 9003
    },
  ]
}

我需要进行哪些更改才能更改或启用 XDebug“步骤调试”?launch.jsonxdebug.ini

编辑:Xdebug 在我设置并进入 .xdebug.mode = debugxdebug.start_with_request = yesxdebug.ini

更改后,我的内容是:/etc/php/8.1/mods-available/xdebug.ini

zend_extension=xdebug.so
xdebug.mode = debug
xdebug.start_with_request = yes
php linux laravel ubuntu xdebug

评论


答:

0赞 zobo 10/24/2023 #1

需要在 VS Code 中启动调试器 - 按 F5。然后确保你已经安装了Xdebug helper Browser扩展,激活它并重新加载你的Laravel页面。

如果这不起作用,请在索引.php或其他可以通过浏览器加载的 PHP 文件的顶部添加一个,看看是否有任何错误,或者 Xdebug 调试器是否被激活。xdebug_info();

或者,除了浏览器扩展,您还可以将 .xdebug.start_with_request=1xdebug.ini

也可能是你缺少你的.xdebug.mode=debugxdebug.ini

如果这不起作用,请发布您的 xdebug.ini 和此处的输出以获得进一步的帮助。xdebug_info()

还有其他方法可以使其工作,但需要满足以下条件:

  • VS Code 正在侦听 Xdebug 端口(通常为 9003)
  • PHP 已加载 Xdebug
  • PHP 有 xdebug.mode=debug - 通过 .ini 或 XDEBUG_MODE env
  • PHP 知道开始调试(浏览器扩展或xdebug.start_with_request=1)
  • PHP 可以连接到 VS Code(当所有内容都在没有 Docker 的本地主机上时,通常不是问题)

评论

0赞 Tola 10/24/2023
感谢。我添加了 和 xdebug.ini 并且 xdebug 开始工作。xdebug.mode = debugxdebug.start_with_request = yes