14

几个小时以来,我一直在反对这一点。

在几个星期没有使用 PHPStorm 之后,我回来在 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 方面,但我看不到在哪里。我尝试创建一个非常简单的项目,但也无法对其进行调试。

4

11 回答 11

27

当您花费数小时与某件事搏斗,然后在绝望中尝试一些简单的事情时,您不讨厌它吗?

我决定尝试一个不同的端口,9001 而不是默认的 9000,它成功了!

我现在意识到我最近安装了 Twonky(用于将视频流式传输到我的电视),当我检查设置时,它是……端口 9000。

于 2013-02-17T05:22:00.717 回答
7

今天下午有同样的问题 - 发现这个问题以及其他几个 SO 问题,所以我想我会发布为我修复它的解决方案。

我缺少到文件系统的映射。这很奇怪,因为我已经看到 PHPStorm 在他们之前失踪时提示我。

在此处输入图像描述

希望这对将来的人有所帮助:)

于 2014-01-08T17:12:44.520 回答
3

更新到 El Capitan 后遇到了同样的问题。我使用的第一个提示是运行 -> Web 服务器调试验证。PHPStorm 的这个工具给了我一个关于xdebug.remote_host我正在使用 v-hosts 的提示,它抱怨localhost那里的值不正确。所以我更新了 xdebug 设置,xdebug.remote_connect_back=On它工作了!

于 2015-12-04T09:57:55.327 回答
2

显然,如果您尝试在较新版本的 xdebug 上进行调试,则必须将此行包含到您的 xdebug-php.ini 设置中 xdebug.mode=debug

于 2020-12-06T16:24:09.410 回答
1

我有同样的问题,我通过删除所有手表来解决它,然后重新启动 phpStorm

于 2015-08-17T12:05:06.537 回答
0

较新版本的 PHPStorm 具有调试器验证。PHPStorm 官方博客对此功能有一篇文章,可能会帮助您弄清楚。

当我设置一个配置了 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
于 2014-01-08T23:10:10.007 回答
0

我有同样的问题!我终于意识到我所有的配置都是正确的,但是在浏览器方面,我没有启用 Chrome 浏览器的调试。每个浏览器都有自己的方式来启用调试开始工作。

于 2014-03-17T21:54:16.087 回答
0

我遇到了同样的问题,我尝试了在 SO 和其他站点中可以找到的所有解决方案(检查 phpStorm 和 Xdebug 是否在相同的端口上,检查我在文件系统上是否有服务器映射,重新安装 Xdebug 等。 ) 但最终问题在于我们在内部服务器上运行该站点,并且 IT 人员将我的计算机的 IP 地址更改为从可连接到该服务器的允许地址中过滤掉的地址。这就是 phpStorm 开始忽略 Xdebug 断点的原因。

希望这将有助于将来的某人并为他节省很多时间。

于 2015-08-25T15:36:29.410 回答
0

我自己也解决了,因为 PHP-Storm 和 PHP-FPM 正在监听同一个端口......只需杀死所有 php-fpm 端口。 在此处输入图像描述

于 2017-05-29T04:00:15.623 回答
0

有同样的问题。对我来说,我使用端口 9010 进行 xdebug。问题原来是我最近为新鼠标安装的罗技 GHub 软件在端口 9010 上监听!您可以使用它来查看 Mac 上给定端口上正在侦听的内容:

lsof -nP -iTCP:9010 | grep LISTEN
于 2020-03-14T00:51:08.400 回答
-1

发现如果 xdebug 日志文件不可写,则它可能无法正常工作。总是最好设置 xdebug.remote_log 并使其可写。

于 2016-08-19T08:57:26.587 回答