【发布时间】:2013-06-11 19:30:24
【问题描述】:
我正在使用 WebMatrix 和 IISExpress 在我的 Windows 机器上运行 localhost Web 服务器。我已经在其中安装了 PHP 和 Xdebug,它们都可以正常工作。
我有一个本地 WordPress 安装。
我现在正在尝试让 PhpStorm 使用 Xdebug 对其进行调试。
当我运行 PhpStorm 时,它会在浏览器中启动 Web 应用,并在浏览器中使用相关的调试参数。
IDE KEY 匹配
xdebug.remote_port 配置正确。 (后来我发现这是错的,但不是错的,应该是9000端口)
但似乎 Xdebug 永远无法与 PhpStorm 通信。 PhpStorm 一直在监听,执行完全运行,没有在任何断点处停止。
【问题讨论】:
-
1) 调试是否有效(例如,即使在 CLI 模式/“PHP 脚本”类型的运行/调试配置中)? 2) PhpStorm 是监听 xdebug 端口的那个吗(你可以使用标准的
netstat或从 MS 网站下载tcpview) 3) 你是否设置了路径映射(设置 | PHP | 服务器)-- PhpStorm 应该要求你当它收到 xdebug 请求时这样做? 4) 是否在 xdebug 端口上的防火墙中启用了 PhpStorm(因为连接到 PhpStorm 的是 xdebug)? -
@LazyOne (1) 调试器无法在“PHP 脚本”类型中工作。它完全跳过断点。 Screenshot
-
@LazyOne (2) 是的,PhpStorm 正在监听,但 keeps listening。即使IDE KEY 和port 似乎设置正确。当我点击运行/调试(使用该 IDEKEY(用于 xdebug_SESSION ...))时,它会打开 iexplore。 [这是在不同的“webapp”运行/调试配置中。]
-
@LazyOne (1) 它在“PHP 脚本”类型中工作。不知道我之前是如何得出结论的/
-
xdebug.remote_port用于 xdebug 和 IDE 之间的通信(xdebug 将尝试连接到此端口以建立调试连接)。它不能是网站正在运行的端口。这两篇文章应该可以完成这项工作:1) confluence.jetbrains.com/display/PhpStorm/… 2) confluence.jetbrains.com/display/PhpStorm/…