В этом посте мы увидим, как настроить окружение Laravel с помощью Docker, Devcontainer и отладить его с помощью Xdebug. Мне нравится использовать Docker в своей среде разработки, потому что он прост в настройке и согласован на разных компьютерах. С помощью devcontainer мы можем использовать ту же среду в Visual Studio Code, а Xdebug является обязательным для отладки.
Начнем с создания нового проекта Laravel с помощью sail (Docker). На компьютере должны быть установлены Docker и Docker Compose. Если у вас его нет, вы можете установить его, следуя инструкциям на официальном сайте.
Вы можете изменить 'example-app' на другое имя.
Откройте проект в Visual Studio Code, и вам будет предложено повторно открыть проект в devcontainer. Нажмите на кнопку «Повторно открыть в контейнере» и подождите, пока контейнер будет построен. Ход выполнения можно проверить в правом нижнем углу Visual Studio Code.
После включения VSCode вы установите расширение devcontainer.
Вы заметите эту папку .devcontainer в корне проекта.
Вы можете установить расширение, нажав на значок расширений на боковой панели и выполнив поиск
Вот мой .devcontainer/.devcontainer.json Я использую расширения php inteliphense и xdebug. Файл:
1) Вам нужно изменить docker-compose.yml, чтобы добавить новый порт для xdebug. 2) Измените контекст и добавьте копию vendor/laravel/sail/runtimes/8.3
Добавьте следующие строки в docker-compose.yml файл
: 3) Мне нравится настраивать Dockerfile и добавлять свои настройки, такие как установить некоторое программное обеспечение: sudo curl, git, git cli и nano, а также изменить пользователя 'sail' на sudo.
Поместите код в нужное место.
В .devcontainer/vendor-example/laravel/sail/runtimes/8.3/Dockerfile Ваш Dockerfile
будет выглядеть следующим образом:
4) Добавьте этот код в php.ini
5) Мне нравится настраивать командную строку bash так, чтобы она показывала мою ветку git и текущий каталог.
Измените файл start-container
6) Создайте конфигурацию отладки в VSCode. .vscode/launch.json
7) Проверьте переменные окружения в файле .env .
После установки расширения вы можете открыть палитру команд (Ctrl+Shift+P) и ввести 'Remote-Containers: Reopen in Container'. Это создаст контейнер и откроет проект внутри него. Или же появится кнопка в правом нижнем углу окна.
Теперь вы можете запустить контейнер и отладить свое приложение Laravel. Вы можете задать точку останова в коде и запустить конфигурацию отладки в Visual Studio Code. Ход выполнения можно проверить в правом нижнем углу Visual Studio Code.
Чтобы открыть приложение, используйте браузер с URL localhost.
Убедитесь, что на порту 80 не запущена другая служба.