如何为 Xdebug 3.0 版设置 VSCode launch.json?
How to setup VSCode launch.json for Xdebug version 3.0?
我正在构建 Laravel 项目。几天前,我重新安装了 OS (Windows 10) 并重建了所有开发环境。问题是 Xdebug 的更新版本。
使用 Xdebug 版本 2 调试后端运行良好,但我已经从 xdebug.org/wizard 下载了使用 Xdebug v3 设置的 dll 文件,并根据指南(就像我以前做的那样)。但是我不能再调试了。
这是我的 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",
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
而且似乎有一些功能从 v2 更新了。
类似于上图。
我尝试了所有可能的情况但找不到解决方案..任何人都可以帮助我吗?任何建议表示赞赏。谢谢。
IDE:
正如升级指南 (https://xdebug.org/docs/upgrade_guide) 所示,首先发生变化的是 IDE 应该侦听连接的端口号。您已经突出显示了这一点,但请确保在 json 配置文件中将其更改为 9003
。这应该是您必须在 IDE.
中做的唯一更改
下一步 - Xdebug 的配置:
Xdebug 中有这个新设置:xdebug.mode
(https://xdebug.org/docs/all_settings#mode)。它的默认值是 develop
并且您必须更改它(显式将其设置为 debug
)以便将 Xdebug 置于调试模式(为此您必须更改 php.ini
)。有关详细信息,请参阅文档。
更新:
正如@LazyOne 在评论部分中正确建议的那样,如果您想保留端口 9000,您可以跳过在 VS Code 中修改它,而是在 Xdebug 设置中将端口设置回 9000:https://xdebug.org/docs/step_debug#client_port
这就是说,默认端口号被更改的原因是:https://bugs.xdebug.org/view.php?id=1848。您可能想要采用新的端口号。
我通过使用 artisan 命令删除缓存解决了这个问题:
php artisan cache:clear
我不知道这个命令是如何解决问题的,但我注意到当我将端口更改为 9003 时,我仍然在端口 9000 上出错!我认为 laravel 已经缓存了端口!
我正在构建 Laravel 项目。几天前,我重新安装了 OS (Windows 10) 并重建了所有开发环境。问题是 Xdebug 的更新版本。
使用 Xdebug 版本 2 调试后端运行良好,但我已经从 xdebug.org/wizard 下载了使用 Xdebug v3 设置的 dll 文件,并根据指南(就像我以前做的那样)。但是我不能再调试了。
这是我的 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",
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
而且似乎有一些功能从 v2 更新了。
类似于上图。 我尝试了所有可能的情况但找不到解决方案..任何人都可以帮助我吗?任何建议表示赞赏。谢谢。
IDE:
正如升级指南 (https://xdebug.org/docs/upgrade_guide) 所示,首先发生变化的是 IDE 应该侦听连接的端口号。您已经突出显示了这一点,但请确保在 json 配置文件中将其更改为 9003
。这应该是您必须在 IDE.
下一步 - Xdebug 的配置:
Xdebug 中有这个新设置:xdebug.mode
(https://xdebug.org/docs/all_settings#mode)。它的默认值是 develop
并且您必须更改它(显式将其设置为 debug
)以便将 Xdebug 置于调试模式(为此您必须更改 php.ini
)。有关详细信息,请参阅文档。
更新:
正如@LazyOne 在评论部分中正确建议的那样,如果您想保留端口 9000,您可以跳过在 VS Code 中修改它,而是在 Xdebug 设置中将端口设置回 9000:https://xdebug.org/docs/step_debug#client_port
这就是说,默认端口号被更改的原因是:https://bugs.xdebug.org/view.php?id=1848。您可能想要采用新的端口号。
我通过使用 artisan 命令删除缓存解决了这个问题:
php artisan cache:clear
我不知道这个命令是如何解决问题的,但我注意到当我将端口更改为 9003 时,我仍然在端口 9000 上出错!我认为 laravel 已经缓存了端口!