views:

390

answers:

2

I've just downloaded the latest version of UEStudio 09 and am trying out the integrated XDebug features.

I've got xdebug installed, and have verified that via my php_info(). I've written a very basic script to test it out:

1:  <?php
2:  $x = 5;
3:  $y = $x + 1;
4:  $z = 10;
5:  while ($z--) {
6:      echo $x, $y, "<br />\n";
7:  }

I've then started the debugging session and get this message in my output window:

Client: Listening for connection...

I've added a breakpoint on line 4, just to test it out. I then open the file in my browser with the special url parameter:

http://localhost/uetest/index.php?XDEBUG_SESSION_START=test
The script runs normally and it doesn't stop for debugging or anything. The output is this:
Client: Listening for connection...
Client: Connection accepted
Client: Initializing session
==============================
Debug Engine Name: Xdebug
Debug Engine Version: 2.0.3
Protocol Version: 1.0
==============================
Client: Session active
Client Command: Step Into
Client: Exiting debug session
Script completed without errors

If I visit http://localhost:9000/uetest/index.php then UEStudio says "Connection accepted", but from there nothing happens! The script never completes in the browser, and then finally UEStudio crashes.

Any ideas?

A: 

Many years ago I used xdebug but recently I've been using the Zend Debugger so I can't remember off hand what I did to get the xdebug.dll to work. I do remember, however, that I did need to add a few entries into the php.ini. The entries that I have for the Zend Debugger are:

For Linux:

[Zend]
zend_extension=/usr/lib/php5/20060613+lfs/ZendDebugger.so
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always

For Windows:

[Zend]
zend_extension_ts="c:/php/ext/ZendDebugger.dll"
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always

A Google search for "php xdebug php.ini" took me here:

http://devzone.zend.com/article/2930-Debugging-PHP-applications-with-xdebug

Which suggests:

xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"

for xdebug.

Hope this helps.

Stacey Richards
+1  A: 

Last week I evaluated UEStudio as a replacement for Zend Studio 5.5. I setup my XDebug configuration as follows and got it working:

[XDebug]
zend_extension_ts=./ext/php_xdebug.dll
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=1
xdebug.profiler_output_dir=d:/
xdebug.profiler_output_name=timestamp
xdebug.remote_enable=1
xdebug.remote_mode=req
xdebug.remote_autostart=0
xdebug.remote_port=9000
xdebug.remote_host=localhost 
xdebug.idekey=debug

I had to add several settings to my php.ini to get it working. Above is the resulting configuration. Also, I installed XDebug Helper Firefox addon to start debugging right from Firefox. Very convenient.

mjax
thanks unknown! I'll give it a try to see how it goes!
nickf