Русский
Русский
English
Статистика
Реклама

Перевод Дебажим PHP-контейнер с помощью Xdebug и PhpStorm

Перевод статьи подготовлен в преддверии старта курса Backend-разработчик на PHP.




Инструкция Docker #9: xdebug

Я создам очень простую php-страницу и подебажу ее с помощью xdebug и PhpStorm.

Исходные файлы можно найти здесь:
github.com/ikknd/docker-study в папке recipe-09

1. Создайте файл Dockerfile в папке docker:

FROM php:7.2-fpm#Install xdebugRUN pecl install xdebug-2.6.1 && docker-php-ext-enable xdebugCMD ["php-fpm"]

Выполните эту команду из папки docker для создания образа:

docker build -t php-xdebug-custom -f Dockerfile .

2. Создайте файл docker-compose.yml в папке docker:

version: "3.7"services:  web:    image: nginx:1.17    ports:      - 80:80    volumes:      - /var/www/docker-study.loc/recipe-09/php:/var/www/myapp      - /var/www/docker-study.loc/recipe-09/docker/site.conf:/etc/nginx/conf.d/site.conf    depends_on:      - php  php:    image: php-xdebug-custom    volumes:      - /var/www/docker-study.loc/recipe-09/php:/var/www/myapp      - /var/www/docker-study.loc/recipe-09/docker/php.ini:/usr/local/etc/php/php.ini

Здесь я использую образ php-xdebug-custom вместо php:7.2-fpm

3. Внесите в файл php.ini следующие настройки:

[xdebug]zend_extension=xdebug.soxdebug.profiler_enable=1xdebug.remote_enable=1xdebug.remote_handler=dbgpxdebug.remote_mode=reqxdebug.remote_host=host.docker.internalxdebug.remote_port=9000xdebug.remote_autostart=1xdebug.remote_connect_back=1xdebug.idekey=PHPSTORM

4. Настройте сервер в PhpStorm:

File -> Settings -> Languages и Frameworks -> PHP -> Servers
Добавьте новый сервер с помощью иконки + и настройте его, как показано на следующем скриншоте:



Убедитесь, что вы отметили Использовать сопоставление путей (Use path mappings) и сопоставили папку php с /var/www/myapp.

5. Настройте удаленный дебагер PHP в PhpStorm:

Run -> Edit configurations -> PHP Remote Debug

Добавьте новую конфигурацию и присвойте ей значения, как на следующем скриншоте:



6. Выберите конфигурацию дебага на панели дебага PhpStorm



7. Перейдите в /var/www/docker-study.loc/recipe-09/docker/ и выполните:

docker-compose up -d

Если я сейчас введу myapp.loc/ в браузере, я увижу результаты из файла index.php.

Я могу установить точку останова, начать прослушивание соединений в панели дебага PhpStorm и перезагрузить страницу.

Удачного дебага!



Узнать о курсе подробнее.



Еще по теме


Источник: habr.com
К списку статей
Опубликовано: 24.06.2020 16:09:31
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании otus. онлайн-образование

Php

Программирование

Docker

Docker-compose

Xdebug

Php-debug

Devops

Php-xdebug

Software-development

Devops-docker

Категории

Последние комментарии

© 2006-2020, personeltest.ru