Вы находитесь на странице: 1из 3

1.

Настройка VS Code для отладки PHP в


devcontainer
1.1. Открыть Диспетчер задач и посмотреть, не включена ли уже аппаратная виртуализация:

1.2. Если нет, включить виртуализацию в BIOS (для этого нужно обратиться к администратору).
1.3. Есть два способа использовать Docker Desktop for Windows с бекендом на Hyper-V, либо на WSL 2:
a. Hyper-V:
i. Открыть PowerShell от имени администратора;
ii. Запустить следующую команду:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All
b. WSL 2:
i. Убедиться, что установлена версия Windows не ниже 1903 сборки 18362 (Win + R (или Пуск ->
Служебные – Windows -> Выполнить) -> в появившемся окне ввести “winver” и нажать “Ок”);
ii. Открыть PowerShell от имени администратора;
iii. Ввести следующую команду:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
iv. Ввести следующую команду:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
v. Установить обновление ядра Linux (тут)
vi. Перезагрузить компьютер (! ВАЖНО !)
vii. Запустить следующую команду в PowerShell:
wsl --set-default-version 2
viii. Установить дистрибутив WSL 2 (V:\ДИТ\Distributives\PHP VS 2017\
Ubuntu_2004.2020.424.0_x64.appx, выбрать другой дистрибутив )
ix. После установки вас попросят ввести логи и пароль для дистрибутива (нужен при вводе
комманды sudo).
1.4. Установить Docker Desktop for Windows (V:\ДИТ\Distributives\PHP VS 2017\Docker Desktop
Installer.exe).
1.5. Кликаем на иконку Docker Desktop в трее -> Settings -> General -> Use the WSL 2 based engine
1.6. Сохранить себе локально докер имейдж safo-dev-1.0 отсюда: V:\ДИТ\Distributives\PHP VS 2017\
safo-dev-1.0.tar
1.7. Выполнить команду в PowerShell:
docker load -i <путь к safo-dev-1.0>
1.8. Проверить, что появился имейдж safo-dev с тегом 1.0 с помощью команды:
docker image ls -a

1.9. Открыть VS Code;


1.10. Установить расширения:
a. “Remote – Containers”;
b. “PHP Debug”.
1.11. Скопировать папку “.devcontainer” в нужный репозиторий;
1.12. По необходимости модифицировать “tnsnames.ora”;
1.13. Нажать F1;
1.14. В появившемся поле ввести “reopen in container”; выбрать пункт “Remote-Containers: Reopen in
Container”;
1.15. ???
1.16. PROFIT!

2. UPD: Отладка проекта, находящегося на


сетевом диске.
В пунктах, в которых фигурируют пути, необходимо подставить свои варианты.
!! Приложение будет запущено локально (http://localhost), однако исходный код
будет находиться в сетевой папке !!
2.1. Для начала нужно примонтировать сетевые папки к файловой системе wsl;
2.2. Открыть терминал в оболочке wsl;
2.3. Создать папки, к которым будут примонтированы сетевые:
sudo mkdir -p /mnt/lek/www_test-kva1
sudo mkdir -p /mnt/lek/www_dev-kva1
2.4. Открыть файл /etc/fstab (sudo vim /etc/fstab);
2.5. Прописать туда следующие строки:
\\lek\www_dev-kva1 /mnt/lek/www_dev-kva1 drvfs
"metadata,rw,noatime,uid=1000,gid=1000,umask=22,fmask=11" 00
\\lek\www_test-kva1 /mnt/lek/www_test-kva1 drvfs
"metadata,rw,noatime,uid=1000,gid=1000,umask=22,fmask=11" 00
Вот как выглядит мой файл после добавления:

2.6. Установить расширение VS Code “Remote – WSL” (если не установлено);


2.7. Нажать F1 и в появившемся поле ввести “wsl”; из списка выбрать пункт “Remote-WSL: New
Window”;
2.8. Открыть одну из папок, которые были созданы в пункте 2.3;
2.9. Повторить пункты 1.13 – 1.16.

Вам также может понравиться