PHPStorm + XDebug Setup Walkthrough
Up until recently, I've been writing code in PHP (via Notepad++) and debugging by checking the logs in IIS (gotta love that web-platform installer); I've since decided to update to a more efficient code-writing / testing environment, and after playing around for several moments with PHPStorm, decided to purchase it and give it a try. Since then, I have realized that in so far as tutorials and walk-throughs are concerned, PHPStorm is coming up a little short. Having given the manual a glance (RTFM, I know), and come up wanting, I'd like to ask if anyone out there would like to hand hold me through setting up PHPStorm with XDebug so I can stop hating myself for not studying the underlying systems well enough, and get back to coding.
TLDR; Could someone post a detailed walk-through for setting up PHPStorm + XDebug? Assume maximum level of stupidity on my part (I"m usually more than capable in the ASP.NET world, but I am approaching the intelligence level usually associated with some forms of sea-faring sponge in the PHP world).
The environment is Windows 7 Ultimate (64-bit) with IIS & PHP installed.
Solution 1:
I've found a more modern and easier solution partially based on CrasyCoder's post. The steps you need to do are the following:
- If your brand new php installation doesn't contain php.ini, rename the php.ini-development to php.ini
- Install xdebug with help of the wizard: http://xdebug.org/wizard.php Follow its recommendations literally.
- Put in your php.ini the string: xdebug.remote_enable=1
- Go to PhpStorm's settings: settings->php. Select or reselect directory containing php. Make sure you see 'Debugger: Xdebug x.x.x' string (where x.x.x stands for installed version)
- Install an extension for your favorite browser from here: http://xdebug.org/docs/remote
- From the main menu (not the settings window) go to 'Run->Edit configurations' and add new 'PHP Built-in Web Server' configuration. Point the 'Document root' to your project's directory. Note the port number.
- Chrome browser: enable the extension pressing on the little bug in the rightmost side of the omnibox and selecting the Debug option. Other browsers' extensions should work similarly.
- In PhpStorm's menu enable the 'Run -> Start Listen for PHP Debug connections' option.
- Set a breakpoint in your code in PhpStorm.
- Run (not debug) the configuration you created in step 6.
- In your browser go to localhost:port where 'port' is the port from step 6. Your PhpStorm should stop on the breakpoint and you can start squashing bugs in your code.
Considering that:
Steps 1-5
are made once per php installation.
Step 6
is made once per PhpStorm project.
Steps 7-8
are made once per debuggin session.
Steps 9-11
are made each program run.
Solution 2:
It's really simple to get Xdebug working with PhpStorm, just follow this guide carefully. (NOTE: Updated version of the guide is here)
For more advanced topics read this.