我包含一个带有GroupManager类的文件,该文件与IP.content一起使用。我收到了已定义类的错误。如果我不包括,我没有收到任何错误。如果我重命名该类,我没有收到任何错误(但我确信这个类在其他地方不存在。)我尝试了以下,以防有多个包含(我个人使用include_once ...):
if( !class_exists('GroupManager') ) {
class GroupManager {
}
}
我仍然收到错误:
Cannot redeclare class GroupManager in ... GroupManager.php on line 37
显然我的4行文件中没有第37行。
如果我删除了类声明,并用echo替换它,我没有收到任何错误,它回复正常,这意味着该类在那时不存在。
if( !class_exists('GroupManager') ) {
echo "Class does not exist???";
}
我不确定如何调试它。
答案 0 :(得分:0)
我发现了这个问题,我应该早点抓住它...另一个管理员已将此文件包含在一个钩子中。钩子显然是在每个页面上运行,即使每个页面都不需要钩子......因此我不想检查钩子。
如果有任何人有奇怪的包含IPB问题,请确保你grep for includes / requires。它会为你省去很多麻烦。
这样的事情可以让你知道文件的包含位置:
grep -r include_name.php .
这将从当前目录递归检查所有文件。