When working with PHPStorm and VVV (VaryingVagrantVagrants) in my development environment the integration and activation of Xdebug is relatively seamless.
Xdebug 3 is now available it requires slightly different settings in the PHP ini files to work in PHPStorm. Another positive benefit of using Xdebug 3 is it’s now quicker when debugging too.
Starting with out of the box VVV and after running
vagrant ssh -c "switch_php_debugmod xdebug"
I ran debug validation in PHPStorm and got this dialog
So, whilst PHPStorm can see the Xdebug configuration it’s not yet fully configured. As noted some Xdebug settings have changed between version 2 and version 3. See the Xdebug update guide for more details
Enabling Xdebug 3 with VVV
To enable Xdebug 3 in our VVV / PHPStorm installation we need to add some settings to the php.ini file. VVV creates multiple ini files that are included into PHP as part of the php.ini file. We need to update only one particular file.
Manually – not recommended
If we were to do this manually to resolve the issue shown in the above screenshot, we would have to vagrant ssh
into the virtual environment (from within our VVV folder) and manually edit and add these settings into /etc/php/7.2/fpm/conf.d/20-xdebug.ini
The site in my virtual machine uses PHP 7.2. Be sure to add these settings to the right one for your project
xdebug.client_host =192.168.50.1
xdebug.mode =debug
The IP address exposed by my VVV installation is 192.168.50.1. Yours will most likely be the same.
BUT! Adding these settings to /etc/php/7.2/fpm/conf.d/20-xdebug.ini
manually would get overwritten on any vagrant provision.
Automatically including Xdebug 3 settings in php ini file
So, to have these settings included in the php.ini for each host and PHP version, in a terminal window inside your VVV folder (~/Sites/vvv/
for me) you can
Edit config/php-config/xdebug.ini
Add both these lines to the end:
xdebug.client_host =192.168.50.1
xdebug.mode =debug
Now, and don’t forget this step, be sure to set your Xdebug port to 9003 inside PHPStorm
And save the file and from your VVV folder inside your terminal window run the following command
vagrant reload --provision
No when you go back into PHPStorm to validate the installation you should see something like this:
Now I can debug my PHP code much easier and quicker.
0 Comments