HOW TO CONFIGURE XDEBUG FOR LARAVEL IN PHPSTORM
Sep 21 2019
No one should ever underestimate the importance of a fully set up development environment and none is complete unless you have a proper error debugging tools in place. Xdebug will help us discover the source of the problems in our code and give us a better insight on what is happening.
This article will cover how to configure Xdebug with xampp on Windows.
We will use official Xdebug tailored installation on this website https://xdebug.org/wizard.php. What we have to do is to paste either the output of phpinfo() or php -i from the terminal. You can choose whichever option is easier for you. I will use php -i from the command line terminal.
Once you get the output copy it into the text area on the website and click analyze. When it finishes it will give you an appropriate version of Xdebug to download and provide you with the instructions of where to put it.
I was given following instructions:
1. Download php_xdebug-2.7.2-7.3-vc15.dll
2. Move the downloaded file to C:\xampp\php\ext
3. Update C:\xampp\php\php.ini and change the line zend_extension = C:\xampp\php\ext\php_xdebug-2.7.2-7.3-vc15.dll
After I copied xdebug dll to its proper place I added following configuration to php.ini file at the same location as instructed in the third step above.
zend_extension = C:\xampp\php\ext\php_xdebug-2.7.2-7.3-vc15.dll
Now we need to restart apache service in order for it to use new configuration.
That part is finished. Now lets configure PHPSTORM.
In the top right corner click on add configuration.
Click on the plus icon and select PHP Web Page.
Enter the name and click on the button with three dots.
Here we specify the 127.0.0.1 domain and 8000 port on which Laravel serves.
Hit apply and close the modal.
Now open settings (File -> Settings) and change the Xdebug settings as follows.
Then under DBGp Proxy as ide key set PHPSTORM and port to 9001 to match the settings we added in php.ini. Hit apply and now we are ready to test our code.
Let’s put a breakpoint somewhere in our code to see if it actually works. I have accessed a route from a browser which calls this method.
Here we can see that our code stopped executing on the breakpoint and that we can inspect the variables we have. That’s awesome. Although simple with instructions, installing and configuring Xdebug on your own can be a pain. However, it’s quite worth when you see how useful it is when debuging your application with it.