This page will describe how to configure xdebug for PHPStorm -
Table of Contents |
---|
Configure php environment in docker
- Add
XDEBUG_HOST
andXDEBUG_PORT
to .env file in your docker folder
Where XDEBUG_HOST
is your host machine IP address, that is accessible from the PHP container (check ifconfig/ipconfig).
Explanation: PHPStorm should listen when running on that port and ip for debug connections. So you configure here xdebug where to connect to.
Warning |
---|
If working not at the usual place (offline / Pausa Cafe etc) |
...
the here configured hostname / ip address in XDEBUG_HOST might be different. LAN IP vs WLAN IP for example. |
- Add
XDEBUG_HOST
andXDEBUG_PORT
to your docker-compose file
Warning |
---|
The configured host and port must be reachable from with in the container, see check below. |
- Host where PHPstorm runs must be reachable by the docker container, to test go into the container and
- call t5 service:ping ${XDEBUG_HOST}:${XDEBUG_PORT}
- if using a hostname, DNS entries must be returned (in my case my fritz.box returns three entries: a dead one, the LAN interface, the WLAN interface)
- For IPV6 see below separate section
- The dead IP does not provide the port 9000
- On LAN / WLAN interfaces port 9000 is listening and is reachable by PHP
PHP xdebug configuration
This is background knowledge - should all be fine since rolled out with docker container.
In the PHP container xdebug is configured in: /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
By default it is configured the following way:
Code Block |
---|
zend_extension=xdebug
xdebug.mode=debug
xdebug.discover_client_host=1
xdebug.log_level=0
xdebug.idekey=PHPSTORM
xdebug.client_host=${XDEBUG_HOST}
xdebug.client_port=${XDEBUG_PORT} |
PHPStorm configuration
Port configuration
Ensure that PHPStorm is listening to the correct port (default is 9003 as mentioned above, in my case in the screenshot I use 9000):
File Mapping
- Configure file mapping between your local copy and the files inside the container
...
Set the root folder of your copy of translate5 on the left (see screenshot) to be mapped to /var/www/translate5
on the right (see screenshot)
Enable debug connections
...
Ensure that PHPStorm is listening to debug connections, check the status line at the bottom:
Browser
Install helper
- Install XDebug helper extension for your browser
-
Configure it:
Note |
---|
The IDE Key should / must be the same as in the xdebug configuration in php.ini files, so by default PHPSTORM in our docker containers. |
Enable debugging
- Enjoy