Debug PHP in Docker with PHPStorm and Xdebug
Dockerfile
that is based on your production image and
simply install xdebug
into it. Exemple: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
ifconfig
or such)XDEBUG_CONFIG="remote_host={{YOUR_IP_ADDRESS}}"
Simple docker
run: docker run -e XDEBUG_CONFIG="remote_host={{YOUR_IP_ADDRESS}}" your-image
With docker-compose
:
# docker-compose.yml
foo:
build: path/to/Dockerfile
environment:
XDEBUG_CONFIG: remote_host={{YOUR_IP_ADDRESS}}
Languages & Frameworks
> PHP
> Debug
> DBGp Proxy
and set the following settings:Host
: your IP addressPort
: 9000Then 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!
Happy debugging!