如何在 Ubuntu 22.04 的 VSCode 中启用 XDebug

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

我遵循了多个指南,但似乎没有一个提供正确的解决方案,而且大多数都已经过时了。 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
    },
  ]
}

我需要对

launch.json
xdebug.ini
进行哪些更改才能启用 XDebug“单步调试”?

php linux laravel ubuntu xdebug
1个回答
0
投票

您需要在 VS Code 中启动调试器 - 按 F5。然后确保您安装了 Xdebug 助手浏览器扩展,激活它并重新加载您的 Laravel 页面。

如果这不起作用,请在 index.php 或其他可以通过浏览器加载的 PHP 文件的顶部添加

xdebug_info();
,然后查看是否有任何错误,或者 Xdebug 调试器是否已激活。

除了浏览器扩展之外,您还可以将

xdebug.start_with_request=1
放入
xdebug.ini
中。

也可能是您的

xdebug.mode=debug
中缺少
xdebug.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 的本地主机上时通常不是问题)
© www.soinside.com 2019 - 2024. All rights reserved.