提问人:Tola 提问时间:10/24/2023 最后编辑:Tola 更新时间:10/24/2023 访问量:88
如何使用 Ubuntu 22.04 在 VSCode 中启用 XDebug
How to enable XDebug in VSCode with Ubuntu 22.04
问:
我遵循了多个指南,但似乎没有一个提供正确的解决方案,而且大多数都已经过时了。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.json
xdebug.ini
编辑:Xdebug 在我设置并进入 .xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.ini
更改后,我的内容是:/etc/php/8.1/mods-available/xdebug.ini
zend_extension=xdebug.so
xdebug.mode = debug
xdebug.start_with_request = yes
答:
需要在 VS Code 中启动调试器 - 按 F5。然后确保你已经安装了Xdebug helper Browser扩展,激活它并重新加载你的Laravel页面。
如果这不起作用,请在索引.php或其他可以通过浏览器加载的 PHP 文件的顶部添加一个,看看是否有任何错误,或者 Xdebug 调试器是否被激活。xdebug_info();
或者,除了浏览器扩展,您还可以将 .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 的本地主机上时,通常不是问题)
评论
xdebug.mode = debug
xdebug.start_with_request = yes
评论