我几个小时以来一直在打击我。
我已经回来在几个星期内没有使用它后在PHPStorm做一些工作,并且由于某种原因调试不再起作用。它曾经工作,但现在它没有,我不知道发生了什么。
我在Windows上运行,使用IIS,PHP版本5.3.8。安装了XDebug,我按照通常的说明在PHP.ini中设置了配置。
当我运行phpinfo()时,一切看起来都很正常(即XDebug就在那里)。
我已经重新检查了各种设置,下载了比我正在使用的XDebug稍微更新版本的版本(Xdebug v2.2.1),但似乎没有任何东西可以实现。
有人可以给我一些线索,告诉我接下来会看到什么吗?
更新
我花了几个小时的时间来反对这一点,似乎没有进一步发展。根据phpinfo(),安装并加载了XDebug。我开启了日志记录,但除了XDebug确实正在连接之外,它并没有真正告诉我...
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
所以看起来这个问题出现在PHPStorm方面,但我看不到哪里。我尝试创建一个非常简单的项目,但无法进行调试。
答案 0 :(得分:22)
当你花费数小时摔跤时,不要讨厌它,然后在绝望中尝试一些简单的事情,它有效吗?
我决定尝试一个不同的端口,9001而不是默认的9000,并且它已经工作了!
我现在意识到我最近安装了Twonky(用于视频流到我的电视),当我检查设置时,它就是...端口9000.
答案 1 :(得分:6)
今天下午有同样的问题 - 发现了这个问题以及其他几个SO问题,所以我想我会发布修复它的解决方案。
我错过了到文件系统的映射。这很奇怪,因为我看到PHPStorm在他们以前失踪时提示我。
希望这可以帮助将来的某个人:)
答案 2 :(得分:2)
更新到El Capitan后出现同样的问题。我使用的第一个提示是Run - &gt; Web服务器调试验证。
来自PHPStorm的这个工具给了我一个关于xdebug.remote_host
我正在使用v-hosts的提示,它抱怨localhost
不是正确的值。所以我用xdebug.remote_connect_back=On
更新了xdebug设置并且它有效!
答案 3 :(得分:0)
较新版本的PHPStorm具有调试器验证功能。有关此功能的官方PHPStorm博客has a writeup可能会帮助您解决问题。
当我设置一个配置了php-fpm的盒子时,对我来说有一个问题是php-fpm默认也在端口9000上运行,所以我不得不将php.ini中配置的端口和PHPStorm的首选项更改为9001之类的东西
对于它的价值,我目前为xdebug设置了php.ini:
[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
答案 4 :(得分:0)
我遇到了同样的问题!我终于意识到我的所有配置都是正确的,但在浏览器方面,我没有启用Chrome浏览器的调试。每个浏览器都有自己的方式使调试开始工作。
答案 5 :(得分:0)
我有同样的问题,我通过删除所有手表解决了它,然后重新启动phpStorm
答案 6 :(得分:0)
我遇到了同样的问题,我尝试了在SO和其他网站上找到的所有解决方案(检查了phpStorm和Xdebug是否在同一个端口上,检查我在文件系统上有服务器映射,重新安装Xdebug等等,但最终问题在于我们在内部服务器上运行该站点,并且来自IT的某人将我的计算机的IP地址更改为从可以连接到该服务器的允许地址中过滤掉的地址。这就是为什么phpStorm开始忽略Xdebug的断点。
希望这将有助于将来的某个人并为他节省很多时间。
答案 7 :(得分:0)
答案 8 :(得分:0)
有同样的问题。对我来说,我使用的端口9010是xdebug。问题出在我最近为新鼠标安装的Logitech GHub软件监听了9010端口!您可以使用它来查看Mac上给定端口上正在侦听的内容:
lsof -nP -iTCP:9010 | grep LISTEN
答案 9 :(得分:0)
显然,如果您尝试在较新版本的xdebug上进行调试,则必须将此行包含在xdebug-php.ini设置中
xdebug.mode=debug
答案 10 :(得分:-1)
发现如果xdebug日志文件不可写,那么它可能无法正常工作。总是更好地设置xdebug.remote_log并使其可写。