【问题标题】:Homestead 5, Xdebug, PHP 7, and PhpStormHomestead 5、Xdebug、PHP 7 和 PhpStorm
【发布时间】:2017-02-05 07:07:32
【问题描述】:

我正在尝试在 PhpStorm 中使用 Xdebug 和使用 PHP 7.0 的 Homestead 5.0 Vagrant 框。我正在使用 macOS Sierra。

我的问题:

PhpStorm 在 PHP 解释器对话框中找不到 Xdebug 调试器。它说“调试器:未安装”。

我做过的事情:

在/etc/php/7.0/fpm/conf.d,我的20-xdebug.ini有如下代码:

zend_extension=xdebug.so

xdebug.remote_enable=1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
xdebug.max_nesting_level = 250
xdebug.remote_autostart=1

我已经使用sudo service php7.0-fpm restart重新启动了php7.0-fpm。

我从其他社区论坛读到 Xdebug 安装在 Homestead 5 上。但是,当我运行 php -m | grep xdebug 时,xdebug 扩展未列出。然而,当我运行phpinfo() 时,xdebug 被列出。

我已确保我的 IDE 使用端口 9000,我的 IDE 密钥在这两个地方都是“流浪汉”。

感谢您的帮助!

其他截图:

【问题讨论】:

  • 确保您使用的是您认为的 php 解释器。请记住,apache/httpd 使用与 cli 完全不同的一种。 phpinfo() 是否确认您期望的设置?
  • 我已经使用/usr/bin/php -m 来验证xdebug 没有被列出。
  • 是的,这就是问题所在。您正在检查 php 的 cli 安装,而不是 apache 正在使用的 php 模块。在某个地方会有另一个 php.ini 文件。
  • 啊,我明白你的意思了。我已经运行phpinfo() 并发现安装了Xdebug 2.4.0 版。然而,PhpStorm 解释器仍然没有检测到它。
  • 只需通过浏览器获取phpinfo() 输出——顶部表格将列出使用的配置文件。 100% 会与您在屏幕截图上看到的不同(用于 CLI 环境)。 PHP 解释器在 CLI 环境中工作——这可能(在你的情况下)与你的 Apache/nginx/etc 使用的不同。如果您将通过浏览器(网页)进行调试,那么您不应该查看 PHP Interpreter 显示的内容

标签: php laravel phpstorm xdebug homestead


【解决方案1】:

在 2017 年 5 月 13 日撰写本文时,我能够在几周前使用最新版本的 Homestead 让 XDebug 正常工作。 PhpStorm 不会在 GUI 中检测到我的 XDebug 扩展。这就是我在创建全新安装的 Homestead 后尝试启动和运行时发生故障的地方。

但是,在我的 VM 中安装 XDebug、设置 xdebug php 扩展文件并将所有内容配置回正常运行后,它在我第一次(重新)尝试调试时工作。

guide 是我最初学习如何在 PhpStorm 中设置配置的方法。它没有讨论设置 ide-key 和其他一些小东西,但其中大部分很容易被发现。

【讨论】:

  • 如果您有时间和兴趣,如果您能更明确地了解您实际做了什么以使其发挥作用,那就太好了。我已经完成了该指南中的所有内容,并且遇到了与您描述的完全相同的问题。 PhpStorm 只是拒绝在解释器对话框中检测 xdebug。
  • 在使用适当的配置执行调试时,我的 PhpStorm 设置仍然没有检测到 Xdebug will。但是,代码将在断点处正确停止。我将在今晚晚些时候为未来的访问者提供详细的解释,但是现在您是否尝试过运行调试器,尽管 GUI 没有显示检测到 Xdebug?如果没有,我会试一试。
猜你喜欢
  • 2017-04-18
  • 2013-09-02
  • 2022-01-18
  • 2021-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-16
相关资源
最近更新 更多