Vscode docker 上 laravel 的 运行 调试器不可用
Vscode debugger not running for laravel on docker
我正在 运行 在 docker 容器中创建一个 laravel 项目,我正在使用 VS 代码调试该项目。
我有一个完美运行的 launch.json 配置。
如果我 运行 docker exec -it main bash
显示下面的 pathMappings。
{
"version": "0.2.0",
"configurations": [
{
"name": "main",
"type": "php",
"request": "launch",
"pathMappings": {
"/home/virta/site/trunk": "/Users/masnadnehith/Desktop/bitbucket/main/"
},
"xdebugSettings": {
"max_data": 65535,
"show_hidden": 1,
"max_children": 100,
"max_depth": 5
},
"port": 9000
}
]
}
现在我有一个新项目 laravel 项目,它是我使用 git 克隆的子模型,并将其添加到 "main" 目录中并调用它 main core
但是我遇到的问题是现在 main core
根本无法 运行 调试器。
所以现在我像这样创建了第二个配置。
{
"version": "0.2.0",
"configurations": [
{
"name": "main",
"type": "php",
"request": "launch",
"pathMappings": {
"/home/virta/site/trunk": "/Users/masnadnehith/Desktop/bitbucket/main/"
},
"xdebugSettings": {
"max_data": 65535,
"show_hidden": 1,
"max_children": 100,
"max_depth": 5
},
"port": 9000
},
{
"name": "main-core",
"type": "php",
"request": "launch",
"pathMappings": {
"/var/www": "/Users/masnadnehith/Desktop/bitbucket/main/main-core"
},
"xdebugSettings": {
"max_data": 65535,
"show_hidden": 1,
"max_children": 100,
"max_depth": 5
},
"port": 9000
},
]
}
docker exec命令用于获取新容器的pathMapping。
因此,我不确定为什么第一个配置可以完美地调试 laravel 项目,而第二个配置却不能。
第二个使用不同的 docker 容器(顺便说一句)。
第一个在没有安装任何扩展的情况下工作。
Php 信息已经显示调试器已安装。
xdebug 文件如下
[xdebug]
xdebug.remote_enable=on
xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.remote_host=host.docker.internal
xdebug.remote_handler=dbgp
; xdebug.remote_log="/var/log/xdebug.log"
xdebug.remote_autostart = on
xdebug.idekey='VSCODE'
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.var_display_max_depth = -1
为什么不使用workspaceroot\main-core
而不是直接用路径映射端口呢
"pathMappings": {
"/var/www/": "${workspaceRoot}/main-core"
}
我正在 运行 在 docker 容器中创建一个 laravel 项目,我正在使用 VS 代码调试该项目。
我有一个完美运行的 launch.json 配置。
如果我 运行 docker exec -it main bash
显示下面的 pathMappings。
{
"version": "0.2.0",
"configurations": [
{
"name": "main",
"type": "php",
"request": "launch",
"pathMappings": {
"/home/virta/site/trunk": "/Users/masnadnehith/Desktop/bitbucket/main/"
},
"xdebugSettings": {
"max_data": 65535,
"show_hidden": 1,
"max_children": 100,
"max_depth": 5
},
"port": 9000
}
]
}
现在我有一个新项目 laravel 项目,它是我使用 git 克隆的子模型,并将其添加到 "main" 目录中并调用它 main core
但是我遇到的问题是现在 main core
根本无法 运行 调试器。
所以现在我像这样创建了第二个配置。
{
"version": "0.2.0",
"configurations": [
{
"name": "main",
"type": "php",
"request": "launch",
"pathMappings": {
"/home/virta/site/trunk": "/Users/masnadnehith/Desktop/bitbucket/main/"
},
"xdebugSettings": {
"max_data": 65535,
"show_hidden": 1,
"max_children": 100,
"max_depth": 5
},
"port": 9000
},
{
"name": "main-core",
"type": "php",
"request": "launch",
"pathMappings": {
"/var/www": "/Users/masnadnehith/Desktop/bitbucket/main/main-core"
},
"xdebugSettings": {
"max_data": 65535,
"show_hidden": 1,
"max_children": 100,
"max_depth": 5
},
"port": 9000
},
]
}
docker exec命令用于获取新容器的pathMapping。
因此,我不确定为什么第一个配置可以完美地调试 laravel 项目,而第二个配置却不能。 第二个使用不同的 docker 容器(顺便说一句)。 第一个在没有安装任何扩展的情况下工作。
Php 信息已经显示调试器已安装。
xdebug 文件如下
[xdebug]
xdebug.remote_enable=on
xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.remote_host=host.docker.internal
xdebug.remote_handler=dbgp
; xdebug.remote_log="/var/log/xdebug.log"
xdebug.remote_autostart = on
xdebug.idekey='VSCODE'
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.var_display_max_depth = -1
为什么不使用workspaceroot\main-core
"pathMappings": {
"/var/www/": "${workspaceRoot}/main-core"
}