问题
I've been beating my head against this for hours.
I've come back to do some work in PHPStorm after not having used it in a couple of weeks, and for some reason the debug doesn't work any more. It used to work, but now it doesn't and I have no idea what is going on.
I'm running on Windows, using IIS, PHP version 5.3.8. The XDebug is installed, and I've set the configuration in PHP.ini as per the usual instructions.
When I run phpinfo() everything looks normal (ie. XDebug is there).
I've rechecked various settings, downloaded a slightly newer version of XDebug than I was using (Xdebug v2.2.1), but nothing seems to kick it into life.
Can someone please give me some clues as to what I can look at next?
UPDATE:
I've spent a few more hours beating my head against this, and don't seem to have gotten much further. XDebug is installed and loaded, according to phpinfo(). I turned on logging, but it doesn't really tell me much except that XDebug is indeed connecting...
Log opened at 2013-02-17 04:13:07
I: Connecting to configured address/port: localhost:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///C:/web/dbg/index.php" language="PHP" protocol_version="1.0" appid="6912" idekey="PHPSTORM"><engine version="2.2.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2012 by Derick Rethans]]></copyright></init>
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
Log closed at 2013-02-17 04:13:07
So it seems that the problem is on the PHPStorm side, but I cannot see where. I tried creating a very simple project, but could not get that to debug either.
回答1:
Don't you hate it when you spend hours wrestling with something, then in desperation try something simple, and it works?
I decided to try a different port, 9001 instead of the default 9000, and it WORKED!
I now realise that I recently installed Twonky (for video streaming to my TV), and when I checked the settings, there it was... port 9000.
回答2:
Had the same issue this afternoon - found this question along with several other SO questions so I thought I'd post the solution that fixed it for me.
I was missing a mapping to the file system. Which is odd because I've seen PHPStorm prompt me when they've been missing previously.
Hopefully this helps someone in the future :)
回答3:
Had the same problem after updating to El Capitan. First hint to that I used is Run -> Web Server Debug Validation.
This tool from PHPStorm gave me a hint about xdebug.remote_host
I'm using v-hosts and it was complaining localhost
being not the correct value there. So I updated xdebug setting with xdebug.remote_connect_back=On and it worked!
回答4:
Newer versions of PHPStorm have Debugger validation. The official PHPStorm Blog has a writeup on this feature which might help you figure it out.
One snafu for me when I set up a box with php-fpm configured is that php-fpm runs on port 9000 by default also, so I had to change the configured port in php.ini and PHPStorm's preferences to something like 9001.
For what it's worth, my current php.ini setup for xdebug:
[xdebug]
zend_extension="/the/path/to/xdebug.so"
xdebug.file_link_format="txmt://open?url=file://%f&line=%l"
xdebug.remote_enable=1
xdebug.remote_autostart=On
xdebug.remote_port=9001
xdebug.profiler_enable_trigger=1
xdebug.max_nesting_level=250
回答5:
I had the same problem! I finally realized that all my configurations were correct, but on the browser side, I hadn't enabled debugging with the Chrome Browser. Each browser has their own way of enabling the debugging to start working.
回答6:
I had same problem and I resolved it by deleting all the watches, and then reboot phpStorm
回答7:
I had the same issue and I tried all the solutions I could find in SO and in other sites (checked that both phpStorm and Xdebug are on the same ports, checked that I had the server mapping on the file system, reinstalled Xdebug, etc.) but eventually the problem was in the fact that we run the site on an internal server, and someone from IT changed my computer's IP address to an address which is filtered out of the allowed addresses that can be connected to that server. That's why phpStorm started to ignore the breakpoints from Xdebug.
Hopefully, this will help someone in the future and save him many hours.
回答8:
I resolved by by myself also, cause PHP-Storm and PHP-FPM are listening same port... just kill all php-fpm port.
回答9:
Had the same problem. For me I was using port 9010 for xdebug. Problem turned out to be Logitech's GHub software I recently installed for a new mouse listens on port 9010! You can use this to see what is listening on a given port on Macs:
lsof -nP -iTCP:9010 | grep LISTEN
回答10:
Apparently if you try to debug on newer versions of xdebug you have to include this line to your xdebug-php.ini settings
xdebug.mode=debug
回答11:
Found that if xdebug log file is not writable then it could be not working. Always better to set xdebug.remote_log and make it writable.
来源:https://stackoverflow.com/questions/14888326/xdebug-stopped-working-in-phpstorm