views:

283

answers:

2

I'm trying to get a PHP debugger working and currently keep failing at the very first hurdle. I have a clean installation of IIS7 running on Vista with PHP 5.2.11.

The XDebug section of my PHP.ini looks like:

[XDEBUG]
zend_extension_ts="E:\Program Files\PHP\ext\php_xdebug-2.0.5-5.2.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

The test page I am trying to run looks like:

TEST
<?php
phpinfo();
?>

Basically, the PHP executes fine, but there is no debugger shown anywhere in the phpinfo output - according to all the help I can find there should be an xdebug line and/or section displayed if the debugger is loaded.

I have tried various of the xdebug dll's from xdebug.org but all with the same non-result.

I have also tried installing a zend debugger instead.

Can anyone suggest what to try? Thanks!

+1  A: 

This may sound stupid, but in your path to the DLL, try replacing the backslashes with forward slashes...

zend_extension_ts="E:/Program Files/PHP/ext/php_xdebug-2.0.5-5.2.dll"

If that doesn't work, try making [XDEBUG] all lowercase.

If worse comes to worst, try your PHP error log: that might help...

Narcissus
Just wanted to add that this 'replace backslashes with forward slashes' is because from what I understand, escaped characters that have no meaning (for example "\p") revert to the character itself (essentially gobbling up the directory separators).Also: try adding quotes around the remote_host and remote_handler values.
Narcissus
A: 

OK - after some more investigation - (there was nothing in the PHP error log to help...) - it seems that the problem was something to do with the _ts - it seems there are thread safety issues that need to be worked through - and by making sure I used the non-ts xdebug dll and used the line "zend_extension=" rather than "zend_extension_ts=" then I finally started seeing some debug action :)

Stuart