1

我试图解决错误:Fatal error: Cannot redeclare class

我一直在到处寻找,但找不到类的实例化位置。

无论如何我可以打印有关该类的现有实例的调试信息。

4

3 回答 3

3

您可能会多次导入声明该类的文件。这可能是包含/需要失控的症状,因此您可能需要简化您的结构。

一种替代方法是使用自动加载来加载类以避免此类问题。另一种是只使用 include_once 或 require_once。我通常更喜欢使用结构简单的 require 。

于 2009-10-26T09:43:30.253 回答
3

是的,愚蠢的 php 不会告诉你类是在哪里声明的。尝试以下操作(紧接在致命错误行之前)

$r = new ReflectionClass("YourClassName"); echo $r->getStartLine();
于 2009-10-26T09:49:17.867 回答
0

var_dump(debug_backtrace());您可以通过使用和查看调用堆栈来找出对象在何处被实例化。

于 2015-07-29T11:46:31.453 回答