我在远程机器上遇到了一个关于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&类等。可以通过代码完整读取。