kdes70
2/26/2016 - 4:05 PM

Debug PHP in Docker with PHPStorm and Xdebug

Debug PHP in Docker with PHPStorm and Xdebug

Отладка PHP-приложение c Xdebug в Docker-контейнере через редактор Intellij/PHPStorm

  1. Создайте в локальной дирриктори вашего проекта файл сборки Dockerfile со следующим содержанием:
FROM php:5

RUN yes | pecl install xdebug \
    && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
    && echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
    && echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
  1. Узнайте ваш IP адрес локальной машины (командой ifconfig или другой) у меня он 172.17.0.1
  2. Запустите контейнер с переменной окружения: XDEBUG_CONFIG="remote_host=172.17.0.1"
  • Способ первый через docker : docker run -e XDEBUG_CONFIG="remote_host=172.17.0.1" my-conteiner-php

  • Или через docker-compose:

    # docker-compose.yml
    foo:
      build: path/to/Dockerfile
      environment:
        XDEBUG_CONFIG: remote_host=172.17.0.1
    
  1. Зайдите в настройки Intellij/PHPStorm : Languages & Frameworks > PHP > Debug > DBGp Proxy и укажите соответвующие параметры:
  • Host: 172.17.0.1
  • Port: 9000

Then you're all set and can start listening for PHP Debug connections from your IDE. On the first run it will ask you to map your local directoryies to the docker directories, but after that nothing will be required anymore!

Удачной отладки!