Отладчик Vscode не работает для laravel в докере - PullRequest
1 голос
/ 30 мая 2019

Я запускаю проект laravel в Docker-контейнере и использую 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, а вторая - нет.Второй использует другой контейнер докера (кстати).Первый работал без установки каких-либо расширений.

Информация 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

1 Ответ

1 голос
/ 05 июня 2019

Вместо сопоставления порта напрямую с путем, почему бы не использовать workspaceroot\main-core

"pathMappings": {
                "/var/www/": "${workspaceRoot}/main-core"
            }
...