【发布时间】:2017-04-07 15:44:16
【问题描述】:
在尝试使用 PhpStorm (2016.2.2) 设置 xdebug 2 时,我一直在处理一个意外错误。它说:
未建立与“xdebug 2.5.0rc1”的连接。验证安装。
我决定寻求帮助,因为我已经 3 天无法解决此错误,并且我已尽我所能。
这些是我所做的设置步骤:
在此处粘贴我的 phpinfo (https://xdebug.org/wizard.php) 并下载推荐的 php_xdebug.dll (
php_xdebug-2.5.0rc1-5.5-vc11-nts-x86_64)。将 php.ini 文件复制到
bin\php\php5.6.0并添加以下代码行:-
[Xdebug]zend_extension = C:\MAMP\bin\php\php5.6.0\ext\php_xdebug-2.5.0rc1-5.6-vc11.dllxdebug.default_enable=1xdebug.remote_enable=1xdebug.idekey=PHPSTORMxdebug.remote_port = 80xdebug.profiler_enable=1 为 Chrome 浏览器安装了“JetBrains IDE Support”和“Xdebug helper”扩展。
有时我设法调试(我猜)没有错误,但我在浏览器上收到一个错误,显示“不允许直接脚本访问”。
我在 Windows 10 x64 上运行 MAMP 3.2.2 和 php 5.6.0。不知道我现在可以提供哪些更多细节,但看起来已经足够了。
【问题讨论】:
-
我必须告诉 xdebug 是否从远程启用它以及为哪个 ip。如果您在与服务器相同的主机上进行调试,我不知道您是否需要这个。我已经在我的 .htaccess 中切换了这个:
php_value xdebug.remote_host <remote-ip>, php_value xdebug.remote_enable 1 -
remote_port = 80 ?不见得。 Xdebug 想要与 Phpstorm 通信,如果我记得的话,可以将其配置为侦听特定端口(默认 9000)。查看 "settings->languages & frameworks->PHP->Debug ,您将看到 Xdebug 设置窗格。在您的 remote_port 中使用与您在那里找到的端口相同的端口。如果您更改了 php 设置,请不要忘记重新启动您的网络服务器(可能还有 php-fpm)。
-
官方手册(如果你还没有看过的话):confluence.jetbrains.com/display/PhpStorm/…
-
2) PHP 调试不需要“JetBrains IDE 支持”——它适用于 JavaScript/LiveEdit 和类似的东西 3) "xdebug.remote_port = 80" --这应该是 xdebug 端口(默认为
9000),而不是您的 Web 服务器端口。请阅读 xdebug 文档。 4) 最好改用 xdebug 2.4.1 -- 有些人在 Windows 上遇到 2.5 RC 的问题(例如intellij-support.jetbrains.com/hc/en-us/community/posts/…) -
5) "...但我在浏览器上收到一条错误消息,上面写着“不允许直接脚本访问” == 听起来更像是 JavaScript 调试,但绝对不像PHP 调试。