如何在PHP中调试类的重新定义?

如何在PHP中调试类的重新定义?,php,debugging,stack-trace,require-once,Php,Debugging,Stack Trace,Require Once,我得到一个PHP致命错误:无法在/directory/第20行重新声明类Foo错误,但我不知道它来自哪里。我总是对这个类文件使用一次require\u,我不知道如何调试它。我能得到某种包含堆栈跟踪吗?我正在运行PHP5,所以这里描述的区分大小写应该不是问题: 在声明类的文件中使用,但在声明类之前在声明类的文件中使用,但在声明类之前另一种方法是重命名重新定义的类(也重命名包含该类的文件),然后修复由此产生的所有未找到类的错误。这将引导您找到导致重新定义的代码。在我的例子中,是class_alias

我得到一个
PHP致命错误:无法在/directory/第20行重新声明类Foo
错误,但我不知道它来自哪里。我总是对这个类文件使用一次
require\u
,我不知道如何调试它。我能得到某种包含堆栈跟踪吗?我正在运行PHP5,所以这里描述的区分大小写应该不是问题:

在声明类的文件中使用,但在声明类之前

在声明类的文件中使用,但在声明类之前

另一种方法是重命名重新定义的类(也重命名包含该类的文件),然后修复由此产生的所有未找到类的错误。这将引导您找到导致重新定义的代码。在我的例子中,是class_alias语句导致了问题。

另一种方法是重命名重新定义的类(也重命名包含该类的文件),然后修复由此产生的所有class not found错误。这将引导您找到导致重新定义的代码。在我的例子中,是class_alias语句导致了问题。

很遗憾,我无法安装PHP扩展。此外,debug_backtrace只告诉我require_上有一次错误…同时检查:很遗憾,我无法安装PHP扩展。此外,debug_backtrace只告诉我require_上有一次错误……还要检查一下:这会对我有所帮助。在我的场景中,“不能重新声明”错误完全是一个骗局——问题是自动加载器找不到其他无关的类。这对我有帮助。在我的场景中,“cannot redclare”错误完全是一个骗局——问题是自动加载程序找不到其他无关的类。