在 Vagrant 机器上查找 xDebug 时,PhpStorm 8 Interpreter 读取错误 php.ini

PhpStorm 8 Interpreter reads wrong php.ini when looking for xDebug on a Vagrant machine

我一直在尝试使用 Vagrant 和 PhpStorm 8 设置 xDebug。它应该可以大大简化过程,但对我来说恰恰相反。在 PhpStorm 8 中,我们可以在 Vagrant 机器上设置解释器。这是我的设置。

连接已建立 - 没问题,PHP 二进制文件也已找到并响应。但是,您可以看到消息 Debugger: Not installed.

PhpStorm 未检测到 xDebug,因为它正在查看 CLI 配置文件 (/etc/php5/cli/php.ini) 而不是 /etc/php5/apache2/php.ini,其中安装了调试器。

我觉得很奇怪,它会寻找 Cli 配置,而它通常是 Web 服务器的不同配置文件。

如何让 PhpStorm 检测到调试器?我是否应该将所有配置从 /etc/php5/apache2/php.ini 复制到 /etc/php5/cli/php.ini(这些在我的远程环境中有很大不同,我想让它们保持不同)。有人遇到过同样的问题吗?

嗯,PS 应该查看 Cli 配置,因为它执行其他 SSH 的 PHP 二进制文件。每个 PHP 模块都有一个单独的 ini 文件,我在 Web 服务器和 Cli 配置中使用相同的文件。 在我的 php5/cli/conf.d 文件夹中,我有符号链接指向我的 mods-available 文件夹中的模块。

|-- cli
|   |-- conf.d
|   |   |-- 05-opcache.ini -> ../../mods-available/opcache.ini
|   |   |-- 10-mysqlnd.ini -> ../../mods-available/mysqlnd.ini
|   |   |-- 10-pdo.ini -> ../../mods-available/pdo.ini

|   -- php.ini
|-- mods-available
    |-- curl.ini
    |-- gearman.ini
    |-- imagick.ini
    |-- intl.ini
    |-- mcrypt.ini
    |-- mongo.ini
    |-- mysqli.ini
    |-- mysql.ini
    |-- mysqlnd.ini
    |-- opcache.ini
    |-- pdo.ini
    |-- pdo_mysql.ini
    |-- readline.ini