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

Devops-docker

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

24.06.2020 16:09:31 | Автор: admin
Перевод статьи подготовлен в преддверии старта курса 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 и перезагрузить страницу.

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



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



Еще по теме


Подробнее..

Категории

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

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru