【问题标题】:xdebug 2 with PhpStorm setup error带有 PhpStorm 设置错误的 xdebug 2
【发布时间】: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.dll
    xdebug.default_enable=1
    xdebug.remote_enable=1
    xdebug.idekey=PHPSTORM
    xdebug.remote_port = 80
    xdebug.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 调试。

标签: php phpstorm xdebug


【解决方案1】:

我遇到的问题出在我使用的另一台笔记本电脑上。它们都使用相同的设置(win10、MAMP 3.2.2)。在我的第二台笔记本电脑(我目前正在输入的那个)上,这是 php.ini 设置:

PHP 版本:5.6.0 PHP CLI:C:\MAMP\bin\php\php5.6.0\php.exe PHP CGI: C:\MAMP\bin\php\php5.6.0\php-cgi.exe 加载的配置文件: C:\MAMP\bin\php\php5.6.0\php.ini 调试器扩展:xdebug 2.4.1

它使用 xdebug 2.4.1,我在这台笔记本电脑上没有收到错误。我会尝试在我的第一台笔记本电脑上安装相同的 xdebug 版本,看看它是否有效。

这是我在第二台笔记本电脑上添加到 php.ini 的唯一命令(xdebug 功能正常)“zend_extension = C:\MAMP\bin\php\php5.6.0\ext\php_xdebug-2.4.1-5.6-vc11 .dll”。如果没有额外的 Xdebug 设置,它甚至可以运行是否有意义?

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-02-29
  • 2013-07-28
  • 2015-06-22
  • 2014-08-10
  • 2018-08-05
  • 2021-08-28
  • 1970-01-01
相关资源
最近更新 更多