1

我收到一个PHP Fatal error: Cannot redeclare class Foo in /directory/ on line 20错误,但我不知道它来自哪里。我一直在使用require_once这个类文件,我不知道如何调试它。我可以以某种方式获得某种包含堆栈跟踪吗?我正在运行 PHP 5,所以这里描述的区分大小写应该不是问题:http ://www.php.net/manual/en/function.include-once.php 。

4

2 回答 2

3

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

于 2011-06-06T14:34:00.610 回答
2

另一种方法是重命名已重新定义的类(也重命名包含该类的文件),然后修复您从中得到的所有未找到类的错误。这应该会引导您找到导致重新定义的代码。就我而言,这是导致问题的 class_alias 语句。

于 2013-06-26T08:35:44.153 回答