Netbeans xdebug(远程):入口文件不在项目范围内


Netbeans xdebug (remote): entry file not in project scope

我在远程机器上遇到了一个关于netbeans与xdebug组合的问题

安装

我的php.ini看起来像这个(已接受的答案)使用Netbeans和XDebug 进行远程PHP调试

一切都很正常。我可以在远程服务器9000上调试简单的项目。我还可以使用netbeans上的调试按钮。

问题

只要入口文件在项目中,一切都很好。当文件在项目范围之外时,问题就开始了。想象一下一个名为Calculator的项目。但这些文件从未被直接调用,而是被当前项目之外的索引文件包含。

所以项目(在netbeans中)看起来像这样

  • 计算器
    • 文件1.php
    • file2.php

实际的文件结构如下图所示

  • index.php
    • 计算器
      • 文件1.php
      • file2.php

解决方案

通过调试器调用index.php。如果我在项目属性中选中了"启动时停止",调试将在index.php中的某个位置等待(我可以在"调用堆栈"中看到这一点)。即使索引文件包括file1.php,我也无法到达断点。它贯穿始终。断点被忽略。

一个解决方案是将项目放在根级别(包括index.php),但在这种情况下这是不可接受的。有人知道我能做些什么吗?

提前感谢!

这是一篇老文章,但您总是可以在项目定义之外扩展NetBeans。转到项目->属性->包含路径并添加外部目录。它们不仅应该在xdebug中解析,而且应该在任何Namespace&类等。可以通过代码完整读取。