Launch XDebug in Netbeans on an external request

linux, netbeans, netbeans6.7, php, xdebug

Solution

go to project properties > run configuration > advanced > debug url and check do not open web browser (*). do not set the host under debugger proxy. save these settings. in the project window, on your project: right mouse click > debug (this starts listening for debug connections). no browser is started. enter `http://www.mywebsite.com?XDEBUG_SESSION_START=netbeans-xdebug` in your browser. it should break in netbeans. at least that's what happens here :)

(*) you might also have to set a path mapping - for me, it works without

Problem

I'm using Netbeans 6.7 and XDebug to debug a PHP site on my machine, launching the request from within Netbeans (Project->Debug). This works fine, and is very useful. My question is: Is it possible to attach the debugger to any request that comes in, rather just those I launch from within Netbeans? ie, instead of clicking "Debug", put Netbeans into a mode whereby the debugger is launched and attaches to the next request that comes in. I have a feeling this may be a stupid question, but if it is possible, that'd be great. Edit: A bit more information My system (Ubuntu 9.04) is set up as follows: Contents of `/etc/php5/conf.d/xdebug.ini` ``` zend_extension=/usr/lib/php5/20060613/xdebug.so xdebug.remote_enable=on xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.idekey=netbeans-xdebug ``` Netbeans PHP debugging options are at the defaults: ``` Debugger Port: 9000 Session ID: netbeans-xdebug Stop at the First Line: ticked ``` My `/etc/hosts` file redirects `www.mywebsite.com` to `localhost` If I click on the debug button in Netbeans, then Firefox is launched with the address `http://www.mywebsite.com?XDEBUG_SESSION_START=netbeans-xdebug`, and the debugger works as expected. But if I just browse to `http://www.mywebsite.com?XDEBUG_SESSION_START=netbeans-xdebug`, this doesn't start the debugger in Netbeans. I've also tried setting `xdebug.remote_host=www.mywebsite.com` , but that makes no difference. Also, I've enabled `xdebug.remote_log`, and that's showing information for when I start from within netbeans, but nothing for external requests. So I don't think XDebug is seeing the external requests at all.

Original source

Related problems