PHPStorm 和 VM 单元测试

PHPStorm and VM unit tests

我正在尝试在 PHPStorm 中设置远程测试执行和调试,遵循 JetBrains 的这两篇文章:

我在 Windows 8.1 上的 PHPStorm 9.0.2 中工作,我的虚拟机是 Debian Jessy,位于 Virtual Box v 4.3.26 中。 VM 通过仅主机接口连接到主机 OS。主机的 IP 为 192.168.10.1,来宾 1 的 IP 为 192.168.10.2。

到目前为止,我的问题是 PHPStorm 中的远程解释器,即如果我这样做:

  1. 转到PHP风暴设置
  2. 找到Languages & Frameworks -> PHP
  3. 查看 Interpreter 选项并单击 ... 按钮打开解释器 Window。
  4. 按照随附的屏幕截图指定我的连接设置
  5. 如果我按下按钮 1,那么 PHPStorm 会显示一个与服务器文件结构相对应的选择文件夹对话框,我实际上可以在那里选择 php 可执行文件的正确路径。 PHP 确实位于 /usr/bin/php
  6. 如果我按下按钮 2,则会出现对话框 3 并永远停留在屏幕上。摆脱它的唯一方法是终止网络连接或终止 PHPStorm。

我试着用谷歌搜索这个问题,但没有找到任何相关的东西。 我的私钥文件是 PuTTY *.ppk 格式。我的用户有权在项目文件夹中写入和读取,尽管它与 apache 使用的用户不同。

如果我转到 Tools -> Start SSH session 然后 PHPStorm 使用提供的凭据启动终端会话,即它似乎不是 SSH 连接问题,而是其他问题。

如果能得到有关此问题的任何提示,那就太好了。

看来我发现了问题。问题是我最初试图从控制台进行 运行 单元测试,并期望 PHPStorm 在单元测试内的断点处停止。这并没有发生,但是 PHPStorm 在 PHPUnit.phar 文件的第一行代码之前停止了,遗憾的是,这种情况继续发生。 IE。当 PHPStorm 验证 php 设置时,它似乎执行了一些 php 命令,并且该命令要么等待很长时间,直到其他 php 线程被释放或在第一行执行之前被挂起。

因此,我重新启动了 PHPStorm,停用了对 xdebug 连接的监听,并且根据问题中提到的 JetBrains 文档,事情开始正常工作。