![phpstorm xdebug docker phpstorm xdebug docker](https://noobis.de/wp-content/uploads/2020/04/docker_php_11-696x693.png)
![phpstorm xdebug docker phpstorm xdebug docker](https://jump24.co.uk/uploads/2020/08/xdebug-510x560.jpg)
#Phpstorm xdebug docker code#
Once you’ve chosen one, it’s time to finally start debugging! Run the code where you set a breakpoint, through either a HTTP request or running a console command, and you’ll see a window pop up on the bottom:Ĭongratulations, you’re now debugging with Xdebug in PhpStorm! You should try to familiarize yourself with all the buttons PhpStorm has to offer. Next you can either set a breakpoint (by clicking on the left side of a line) or break at the first line: Once set, you’re ready to debug! First start listening for debugging connections on the top right: For my repository and Vagrant this would be:
![phpstorm xdebug docker phpstorm xdebug docker](https://res.cloudinary.com/practicaldev/image/fetch/s--jBoQYYys--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/i/9wh9wj78y2y453r2ns8g.png)
Check the Use path mappings checkbox and map the paths. If you’re following along with the mtricht/xdebug-example repository from GitHub, for Vagrant this would be host 127.0.0.1 and port 8001. Add a new server pointing to the publicly accessible host and port. Open the settings window and browse to Languages & Frameworks > PHP > Servers. Withouth the path mapping PhpStorm wouldn’t debug anything because the file paths wouldn’t match. If you’re running things in Docker or Vagrant, you need to setup the path mapping first.
#Phpstorm xdebug docker windows#
If you’re running your PHP code locally, there’s no need to configure anything in PhpStorm. In Docker for Windows and Mac, containers can use the name to access the host without having to know its IP address (which can change after a restart of docker-compose).Docker for Linux doesn’t allow to use this name (honestly, I don’t know why). Once you’re done configuring, restart apache, nginx, php-fpm or whatever you use and lets start debugging! Using it in PhpStorm By default this is localhost but for Docker you need the default gateway which is aliased to or for Vagrant 10.0.2.2. With xdebug.remote_host you tell Xdebug to connect to a certain host when debugging. If you’re following this guide whilst your application runs in Docker or Vagrant, you’ll need to include the xdebug.remote_host configuration. With this enabled you don’t have to set any HTTP header or command line flag. Normally you’d have to set a certain HTTP header when doing a HTTP request or add a certain PHP command line flag to your php command from the terminal. With xdebug.remote_autostart Xdebug will try to automatically debug every time you run anything in PHP. With xdebug.remote_enable we enable the debugging features of Xdebug to be debugged from a remote location. The path might be different for you depending on how you installed it. This is because certain Xdebug features, such as step debugging, require zend. If you’ve installed PHP extensions before, you may be wondering why you have enabled other extensions with just extension=x.so. With zend_extension we load the PHP extension we installed. Zend_extension = /usr/lib64/php/modules/xdebug.so xdebug.remote_enable = 1 xdebug.remote_autostart = 1