Phpstorm Xdebug忽略断点(浏览器和CLI)

Phpstorm Xdebug忽略断点(浏览器和CLI),phpstorm,xdebug,Phpstorm,Xdebug,我一直在尝试使用nginx(或cli)在PHP7.2上安装Xdebug,但到目前为止没有任何效果。断点将被忽略。尝试使用PhpStorm激活它们,并手动使用xdebug\u break() 正如错误日志所说,所有这些方法至少都在触发Xdebug(您可以在下图中看到有问题的代码),但什么也没有发生: Log opened at 2018-04-21 07:50:31 I: Connecting to configured address/port: 127.0.0.1:9000. I: Conne

我一直在尝试使用nginx(或cli)在PHP7.2上安装Xdebug,但到目前为止没有任何效果。断点将被忽略。尝试使用PhpStorm激活它们,并手动使用
xdebug\u break()

正如错误日志所说,所有这些方法至少都在触发Xdebug(您可以在下图中看到有问题的代码),但什么也没有发生:

Log opened at 2018-04-21 07:50:31
I: Connecting to configured address/port: 127.0.0.1:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///Users/riseandcry/Projects/php/jobApplication/index.php" language="PHP" xdebug:language_version="7.2.2" protocol_version="1.0" appid="9859" idekey="PHPSTORM"><engine version="2.6.0"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2018 by Derick Rethans]]></copyright></init>

-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="break" reason="ok"><xdebug:message filename="file:///Users/riseandcry/Projects/php/jobApplication/index.php" lineno="4"></xdebug:message></response>

-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

Log closed at 2018-04-21 07:50:31
我没有在PHP中加载任何其他扩展,PhpStorm验证表明一切都是正确的:

另外,我已经用各种方法重新安装了所有东西(PHP、nginx、Xdebug),但仍然不起作用。我的猜测是Xdebug或config有错,但不知道是什么


非常感谢你的帮助。我还阅读了SO和其他论坛上几乎所有的相关问题,既然我在这里,你可以猜到结果…

你在Mac上,你在使用nginx。。。这意味着您很可能已经安装并运行了php fpm。问题是php fpm默认也使用TCP 9000端口。。。因此,现在Xdebug正在连接那里,而不是PhpStorm(如果您以前看到过这样的响应,那么Xdebug日志在这里给出了一个很好的提示)

不幸的是,PhpStorm无法(无论出于何种原因)检测到Xdebug端口已被Mac上的另一个应用程序使用(但在Windows/Linux上可以正常使用)

您可以使用这种命令手动验证(查找使用Xdebug端口的条目并查看进程名称):


解决方案是在
php.ini
和PhpStorm设置中将Xdebug端口更改为
9001
(或任何其他有意义的数字)


p.S.您需要重新启动所有调试会话/禁用并启用“电话手柄”图标(如果您正在使用它)。或者,只需重新启动IDE。

您在Mac上,正在使用nginx。。。这意味着您很可能已经安装并运行了php fpm。问题是php fpm默认也使用TCP 9000端口。。。因此,现在Xdebug正在连接那里,而不是PhpStorm(如果您以前看到过这样的响应,那么Xdebug日志在这里给出了一个很好的提示)

不幸的是,PhpStorm无法(无论出于何种原因)检测到Xdebug端口已被Mac上的另一个应用程序使用(但在Windows/Linux上可以正常使用)

您可以使用这种命令手动验证(查找使用Xdebug端口的条目并查看进程名称):


解决方案是在
php.ini
和PhpStorm设置中将Xdebug端口更改为
9001
(或任何其他有意义的数字)


p.S.您需要重新启动所有调试会话/禁用并启用“电话手柄”图标(如果您正在使用它)。或者,只需重新启动IDE。

在php.ini和PhpStorm设置中,将xdebug端口更改为
9001
。你在Mac上,正在使用nginx。。。因此,您很可能安装了php fpm,它也使用9000端口。。所以Xdebug正在连接那里而不是PhpStorm。非常感谢您花时间来帮助我,我真的很感激:)这是一个非常好的建议,不幸的是,我遇到了另一个错误:W:为“127.0.0.1:9001”创建套接字,轮询成功,但错误:操作正在进行(19)。知道为什么吗?我发现其他人可以通过将xdebug.remote\u connect\u设置回0来解决这个问题,但我已经关闭了。完整的xdebug日志?“电话手柄”图标是否处于活动状态?尝试重新启动IDE。检查谁在监听该端口:
sudolsof-nP-iTCP-sTCP:LISTEN
yes,重启IDE帮助。。。非常感谢,在php.ini和PhpStorm设置中,您将我的很多头发都保存了下来:DChange xdebug port成为
9001
。你在Mac上,正在使用nginx。。。因此,您很可能安装了php fpm,它也使用9000端口。。所以Xdebug正在连接那里而不是PhpStorm。非常感谢您花时间来帮助我,我真的很感激:)这是一个非常好的建议,不幸的是,我遇到了另一个错误:W:为“127.0.0.1:9001”创建套接字,轮询成功,但错误:操作正在进行(19)。知道为什么吗?我发现其他人可以通过将xdebug.remote\u connect\u设置回0来解决这个问题,但我已经关闭了。完整的xdebug日志?“电话手柄”图标是否处于活动状态?尝试重新启动IDE。检查谁在监听该端口:
sudolsof-nP-iTCP-sTCP:LISTEN
yes,重启IDE帮助。。。非常感谢你,你帮我省了不少头发:谢谢!那帮我修好了。谢谢!那帮我修好了。
zend_extension=/usr/local/Cellar/php72/7.2.2_13/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_connect_back=0
xdebug.idekey="PHPSTORM"
xdebug.remote_log=/Users/riseandcry/Projects/php/xdebug/xdebug.log
xdebug.extended_info=1
xdebug.force_display_errors=1
sudo lsof -nP -iTCP -sTCP:LISTEN