当代码在虚拟机上执行时,使用PhpStorm中的xdebug调试PHP库代码

时间:2015-06-17 22:20:03

标签: php virtual-machine phpstorm xdebug

我的本​​地机器上有IntelliJ / PhpStorm可以看到的代码,我在Apache中在虚拟机上执行相同的代码。

当我使用零配置远程调试命中我的CodeIgniter控制器时,我的远程调试工作正常并且遇到了断点。但是,当我尝试进入使用require_once()的代码时,断点不会被击中。

它看起来像路径映射问题。

本地目录布局如下:

- root_directory
  - libraries_named_differently
  - calling_code_same_name

虚拟机目录布局如下:

- root_directory
  - libraries_with_a_different_name
  - calling_code_same_name

我想知道库文件夹在虚拟机上是否具有不同的名称并且在本地导致任何路径映射问题。

顺便说一句,我非常怀疑这与CodeIgniter有什么关系。

例如,在断点工作正常的CodeIgniter控制器中,我使用以下命令加载库:

require_once('/var/www/libraries/ClassExample.php');

然后我在CodeIgniter中有一个控制器方法,如下所示:

public function endpoint {
   $hello = 'world';  // debugger works here, breakpoint hit
   $instance = new ClassExample();
   $instance->someMethod(); // <-- the debugger does not hit breakpoints inside someMethod, although I can see them being executed in the call stack view inside IntelliJ.
}

我的本​​地计算机上只存在 的路径/var/www/libraries,仅存在于虚拟机上。

我认为从我的本地机器上的库目录到/var/www/libraries目录的符号链接可以解决它,但它没有。

如何在我的其他依赖项目中激活这些断点?

0 个答案:

没有答案