Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 394
user978122 Avatar asked Feb 07 '12 20:02

user978122


People also ask

How do I know if xdebug is working?

Verify that Xdebug is properly running by checking again with phpinfo() or php -v as explained above. Note that 9003 is the default port. If this port is used by another service on your system, change it to an unused port. After adding these settings, restart your webserver again.

Where do I put xdebug DLL?

On Windows, you should place the php_xdebug.dll in the ext/ directory, which is a child directory in your PHP installation tree.


1 Answers

I've found a more modern and easier solution partially based on CrasyCoder's post. The steps you need to do are the following:

  1. If your brand new php installation doesn't contain php.ini, rename the php.ini-development to php.ini
  2. Install xdebug with help of the wizard: http://xdebug.org/wizard.php Follow its recommendations literally.
  3. Put in your php.ini the string: xdebug.remote_enable=1
  4. 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)
  5. Install an extension for your favorite browser from here: http://xdebug.org/docs/remote
  6. 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.
  7. 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.
  8. In PhpStorm's menu enable the 'Run -> Start Listen for PHP Debug connections' option.
  9. Set a breakpoint in your code in PhpStorm.
  10. Run (not debug) the configuration you created in step 6.
  11. 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.

like image 164
Evgeny Lukianchikov Avatar answered Sep 23 '22 12:09

Evgeny Lukianchikov