PHP5.5:致命错误:无法重新声明课程

时间:2015-10-30 10:30:20

标签: php redeclare

自从我从PHP 5.2升级到5.5后,我得到了一个我现在不理解的错误。

Fatal error: Cannot redeclare class sessionHandler in ... on line ...

在更新PHP版本之前,这个错误没有引发,重新声明一个类应该是一个独立于PHP版本的错误,我想。此外,我总是使用require_once(),这应该有助于避免错误。

所以为了确保它不被重新声明,我在该类声明之前添加了一个回溯代码块。所以希望,我认为它会输出两次,但我只得到一个回溯输出。因此,从我的观点来看,它只被声明一次。

我错过了什么吗?知道如何找到“真正的”问题吗?

1 个答案:

答案 0 :(得分:3)

Class" SessionHandler"已存在于命名空间中,因为它是PHP中的一个类 - http://php.net/manual/en/class.sessionhandler.php

看起来这个类包含在PHP 5.4中,因此它解释了所有内容。

尝试考虑该类的其他名称或定义命名空间。 如果你创建一个名称空间,比如..

namespace App;
class sessionHandler {
....

您不会再收到错误,但只要您指的是自己的班级,就需要使用App \ sessionHandler。