【发布时间】: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