PHP5.5: фатальная ошибка: невозможно переопределить класс

так как я обновил PHP с 5.2 до 5.5, я получаю ошибку, которую я не понимаю до сих пор.

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

Задолго до обновления версии PHP эта ошибка не возникала, и повторное выделение класса должно быть ошибкой, независимой от версии PHP, как я полагаю. Далее я всегда использую require_once (), что должно помочь избежать ошибки в этом.

Поэтому, чтобы убедиться, что он не будет переобъявлен, я добавил блок кода обратной трассировки перед объявлением этого класса. Надеюсь, я думал, что он будет выводиться дважды, но я получаю только одну обратную трассировку. Поэтому это объявлено только один раз с моей точки зрения немногих.

Я что-то пропустил? Есть идеи, как найти «настоящую» проблему?

1

Решение

Класс «SessionHandler» уже существует в пространстве имен, так как это класс в PHP — http://php.net/manual/en/class.sessionhandler.php

Похоже, класс был включен в PHP 5.4, поэтому он все объясняет.

Попробуйте придумать какое-нибудь другое имя для класса или определить пространство имен.
Если вы создаете пространство имен, что-то вроде ..

namespace App;
class sessionHandler {
....

вы больше не получите ошибку, но вам нужно будет использовать App \ sessionHandler всякий раз, когда вы ссылаетесь на свой собственный класс.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]