So I have this setup going on:
- Windows 8 64bits
- Wamp 2.2
- PHP 5.4.3
- Apache 2.4.4
- And by default Xdebug 2.2.0-5.4-vc9
- Netbeans 7.2
The normal setup that comes with the new WAMP 2.2. When I was trying to debug a simple drupal project I got the tipical please configure you php.ini according to this:
[xdebug]
xdebug.remote_enable = on
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost
xdebug.remove_port = 9000
Nice, so I set up my PHP.INI with the info above and start debuging again and BAM: Socket Exception on NetBeans with some instruction to disable
watches. Thats the usuall stuff that netbeans tells when xdebug is not well configured. So heres comes the solution:
|
Want to easily open up php.ini? Just leftclick your wampserver icon and navigate to it |
THE MIGHTY SOLUTION:
1) Download the latest release of xdebug. Now you got to be very carefully chosing the adecuate file. In my case I downloaded : PHP 5.4 VC9 TS (64 bit).
Now, How do you choose the one?. Easy. The first part of the name is the version of PHP you use, so I have to choose those that start with PHP 5.4. Then comes the version of Visual Studio that this .dll has been compiled. Usually you got to choose the same one has your PHP and Apache have been compiled and for Wamp2.2 it is VC9. Now what about TS? TS means Thread Safe and for what I know is the one thats work well with newest apaches and phps. I downloaded another version (this one: PHP 5.4 VC9 (64 bit) , notice it doesnt say TS) that wasn't threat safe and I got the Netbeans message that It couldn't connect to the port.... so make sure is TS using my configuration above. Now dont forget the 64 bits part or 32bits part, its depend of the version of WAMP youre using.
2) Find this chain in your PHP.ini : zend_extension, comment it and add this one zend_extension = "c:/wamp/bin\php/php5.4.3/zend_ext/php_xdebug-2.2.3-5.4-vc9-x86_64.dll". And yes move your dowloaded xdebug to that address. And restart.
This is what's will look like your php.ini after the changes. Usually the xdebug info is at the bottom of your php.ini
3) Woalla, now youre debugging =).