【发布时间】:2019-10-21 08:57:15
【问题描述】:
我曾经让 PhpStorm 在我的计算机上出色地工作。没有浏览器扩展。我可以在任何地方放置断点,转到浏览器中的某个 URL,按 Enter,然后我会自动转到给定文件中的断点。当我单步执行代码时,项目中的文件会自动打开。
现在,一团糟。
首先是我在 xdebug.ini 中的 Xdebug 信息(我没有在 php.ini 中指定任何与 Xdebug 相关的内容):
zend_extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so
[xdebug]
xdebug.remote_enable=on
xdebug.default_enable=on
xdebug.remote_port=9000
xdebug.remote_host=localhost
如果我运行 php -v 我会得到
PHP 7.0.15 (cli) (built: Feb 13 2017 10:30:54) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.15, Copyright (c) 1999-2017, by Zend Technologies
with Xdebug v2.7.2, Copyright (c) 2002-2019, by Derick Rethans
iMac:xdebug-2.7.2 $
phpinfo() 显示基于我的 .ini 设置的相应值。
在 PhpStorm 中,我将 PHP CLI 设置为 7.0,它显示 Xdebug 2.7.2。
对“无法加载 xdebug”消息感到好奇,但 php -v 没有显示相同的消息。起初,我在 php.ini 和 xdebug .ini 中都定义了 zend_extension,并且在执行 php -v 时会看到该消息,但在从 php.ini 删除后,该消息从 php -v 消失了。
我不知道是否需要在构建、部署的调试设置下做任何事情,但这是默认设置:
另外,我将我的项目设置为与远程服务器同步,但为了调试,我不想使用路径映射。这就是我以前的方式,关于调试会话结束和未找到路径映射的 PhpStorm 消息从来都不是问题。
这是我的Run->Config
过去,我不担心起始 URL。无论我在浏览器中输入什么 URL,它都会触发调试。
这是我在路径映射方面尝试过的:
我这样做是为了看看它是否能解决问题,但没有。
我的直觉说这要么是 Xdebug 设置、我的 run->config 的问题,要么是我使用虚拟主机并且某处存在 localhost 条目导致问题的事实。
所以我很茫然。如果我选择Listen for incoming... 并转到 URL,则焦点不会转到具有当前断点的 PhpStorm。我在浏览器中看到事情停止了,我去 PhpStorm 并看到调试被触发。但是我点击跳过或进入调试的第二个就结束了。
我所做的事情有什么明显的错误吗?
编辑:这是我在 xdebug 日志中看到的内容:
[89603] W: Creating socket for 'dev.courses.com:9000', poll success, but error: Operation now in progress (19).
[89603] E: Could not connect to client. :-(
[89603] Log closed at 2019-10-21 10:42:37
[89603]
[89603] Log opened at 2019-10-21 10:42:37
[89603] I: Connecting to configured address/port: dev.courses.com:9000.
[89603] W: Creating socket for 'dev.courses.com:9000', poll success, but error: Operation now in progress (19).
[89603] E: Could not connect to client. :-(
[89603] Log closed at 2019-10-21 10:42:37
不确定错误的细节...也许这暗示了一些事情?我的问题是我在配置中的哪个位置指定 localhost 和我的虚拟主机别名?也许这就是把事情搞砸的原因?
【问题讨论】: