PHP remote debugging: XDebug can't connect to JetBrains php Storm client

apache2, php, phpstorm, remote-debugging, xdebug

Solution

Maybe a bit late but...

Here you have a contradiction on your settings:

xdebug.remote_host="localhost"
xdebug.remote_connect_back=On

Those two settings overlap. What is your case?

a) You want to debug your application just from one single origin (for example, you are developing from and deploying to `localhost`).

Then you are almost done: you have already defined that the remote host is `localhost`. Comment out the `remote_connect_back` line (with `;`)

b) You want to accept multiple development sources (for example, several machines debugging the application in the same network).

Then the `remote_host` line is being overriden, so you can remove or comment it.

This is effectively the configuration you are currently running. So, what's wrong with it? Check it out running this script:

<?
echo $_SERVER['REMOTE_ADDR'];

The output will be `::1`. Well, the host which is making the request to your Apache server is `localhost`. And Apache is resolving that name as the IPv6 address `::1`, which in the end is not wrong. But Xdebug is unable to connect to an IPv6 address. See:

I: Remote address found, connecting to ::1:9000.
E: Could not connect to client. :-(

So our goal will be to make Apache to resolve `localhost` preferably to an IPv4 address (without disabling any support for IPv6 at OS level nor at Apache level). This may be achieved by adding to your `hosts` file the next line:

127.0.0.1 localhost

This simple hack will do the trick! Now `localhost` will always preferably be resolved as an IPv4 address, while `::1` will still be perfectly understandable.

Problem

i's like to get remote debugging to work with the following software configuration: Win 7 Pro 64bit WAMP Server 2.2 (32bit) incl. Apache 2.2.22, PHP 5.4.3, XDebug php_xdebug-2.2.1-5.4-vc9.dll JetBrains PHPStorm 4.0.3 1.) WAMP is up and running, my site can be found under localhost/fox/ 2.) PHP Storm has a project where there is a mapping between my sourcefiles and the apache alias localhost/fox 2.) I installed the php extension XDebug and added the following lines to my php.ini ``` [xdebug] zend_extension="c:/wamp/bin/php/php5.4.3/zend_ext/php_xdebug-2.2.1-5.4-vc9.dll" xdebug.remote_enable=On xdebug.remote_host="localhost" xdebug.remote_port=9000 xdebug.remote_connect_back=On xdebug.remote_autostart=On xdebug.profiler_enable=On xdebug.profiler_enable_trigger=off xdebug.profiler_output_name=cachegrind.out.%t.%p xdebug.profiler_output_dir="c:/wamp/tmp" xdebug.remote_log="C:/wamp/tmp/xdebug.log" xdebug.remote_cookie_expire_time=6000 ``` This should configure the Remote Debugging XDebug and the call back address. I check already my installation here: xdebug.org/wizard.php 3.) I configured phpstorm, first i added the local server and then checked my settings here http://www.bilder-hochladen.net/files/jrn0-2-c81e-jpg-nb.html ( i tried 127.0.0.1/fox as Server address as well, and localhost instead) hier my debug settings: http://www.bilder-hochladen.net/files/jrn0-1-c4ca-jpg.html Now i restart my apache, i go into phpstorm, set a break point (it is red), click the function ``` Run -> Start listen to PHP Debug Connections ``` The telephone receiver is turing into green, what ever that exactly could mean but it's a positiv signal to me. When I now run my php Script on the local webserver absolutley nothing happens, the programm runs over the break point and does not stop. In the Xdebuggers log (C:/wamp/tmp/xdebug.log) i find loads of these messages like these: ``` I: Checking remote connect back address. I: Remote address found, connecting to ::1:9000. E: Could not connect to client. :-( Log closed at 2012-07-19 14:21:08 ``` Somewhere in the internet i found the hint, that the windows firewall could block the communication so i turned it off completley but that did not help. I also tried to connect via telnet to localhost:9000 and i got a response from phpstorm. Has anybody an idea where to search the error or what else i could try to get this stuff working ? Thank you very much for your help in advance, Michael p.s. Sorry i am not allowed to post more than two links because I am new here, so therefor no hyperlink to the xdebug wizard.

Original source