How to debug in PHPStorm with built in webserver using Symfony command line tool

intellij-idea, php, phpstorm, symfony, xdebug

Solution

You shouldn't create a run configuration at all, just to click on the listen button:

Configure xdebug to attempt to debug every single script (`xdebug.remote_autostart = 1` and `xdebug.remote_enable = 1`).

Use "Phone handle" icon in IDE to start listening for debug connections (e.g. as described in here)

Launch your php code from anywhere -- XDebug will attempt to debug every incoming request.

Here is an hour long webinar about the subject.

bonus

if you're interested in doing the same thing on vi + xdebug, see this answer.

Problem

I was able to set up a php web app debugger in PHPStorm by simply tying it to my localhost at a specific port and everything works fine. However for that to work I need to first run this command on the shell: ``` php app/console server:run --env=dev ``` This works just fine if I set up breakpoints for browsing the site itself or testing api calls from a browser based rest client like postman However I'm trying to actually set breakpoints for my mobile app (the mobile app sends http calls to the backend app which is a symfony app). Using the web app configuration doesn't work for this one. Using this tutorial I was able to incorporate the above command line into PHPStorm, so now I can actually run the code using phpstorm command line tools. My question is: How can I actually tie the debugger to the command line within PHPStorm? right now when I create a built-in web server in PHPStorm it defaults to using the default php interpreter (i.e If I run the code using the built in web server.. I see this in PHPStorm's console: ``` /usr/local/Cellar/php54/5.4.28/bin/php -S localhost:8000 -t /project/root/directory ``` What I want instead is something like this: ``` php app/console server:run --env=dev -S localhost:8000 -t /project/root/directory ``` Any idea how to do that?

Original source