My xdebug.ini looks like this:
[xdebug]
zend_extension=xdebug.so
xdebug.mode=develop,debug
xdebug.client_host=host.docker.internal
xdebug.client_port=9003
Then, in my PHPStorm, I have used PHP Web Page template to create a new Debug Configuration.
Point your server to the domain you are working on
Default port 80 running Xdebug.
There might be minor differences between 2 and 3 in the matter of config.
If you are using PHPStorm you can easily test your XDebug config, and you can add an XDebug log on the server too, to figure out what is causing issues.
By all means, if you do have the functional solution that fits your needs, it’s great.
I just wanted to share as there were questions about how to get it to work.
Hi @nemanjac - we are using Visual Studio Code which appears to be a little bit harder to troubleshoot when it comes to client configuration. Do you have any advice here for the settings to use?
I took another stab at it and got DevKinsta Xdebug working. I used my XDebug 3 config from Devilbox.
The following is for an example WordPress install, testing by breakpointing the index.php in the root directory of “YourSiteName”. Running on PHP 7.4, change as appropriate for other versions.
I think I was missing xdebug.idekey = VSCODE as I don’t VSCode, but PHPStorm.
@sonicviz
due to some performance issues with docker (might be M1 related only) I commented out the log file.
It was impacting performance a lot. So after you get it working, you might want to comment it out.
I just wanted to add my voice to the chorus of “any ETA on this?”, as it cannot be overstated how critical xdebug is for any kind of local development environment for a PHP project. Some would say it’s pretty much the entire point of having a local sandbox.
Even if you can’t get a fully integrated Just Push A Button solution going soon, detailed instructions in the KB for PHPStorm and VSCode would go a long way to easing the pain and time.
To anyone else using PHPStorm, the only thing I had to do beyond the excellent community advise in this thread was to add path mappings in Settings → PHP → Servers for both servers (80 and 443), mapping /www/kinsta/public/SITENAME to C:\Users\MYNAME\DevKinsta\public\SITENAME.
Yes, I noticed this yesterday.
This problem came up with last update. I was on call with another expert @Codeable where we were trying to debug a problem, and noticed that mapping is now necessary for this to work properly.
Thank you for pointing this out, as I had idea to update my post, but forgot.
I can’t get anything to work. Is there a correlating setting I am missing? I have the xdebug extension for chrome installed and running. I found the settings for it and it is looking for the PHPSTORM IDE key. I have PHPStorm listening and I even used the built in validation tool and it all checked out. So I’m not sure why my breakpoints aren’t catching.
Hi @robruiz - did you see the guide I’ve posted here?
I’m not familiar with the dialog in your screenshot. I’ve configured Xdebug via “PhpStorm > Preferences… > PHP > Debug”
Also, I do not use an IDE key, as I enable or disable debugging via the Chrome extension. Generally, the IDE key caused problems for me in the past, so I never use it. I always enable or disable Xdebug in the whole environment instead of using IDE keys/session ids.
Aside from that, I recommend clicking the “Validate” link in your “Pre-configuration” section. Possibly, you will get some additional tips from PhpStorm on what’s failing.
I got a notice that port 9003 was already in use. I didn’t want to debug it, so I just changed it to 9999 in xdebug.ini and launch.json. And it worked! Awesome! Thanks!