Symfony 2.5.3 и PHP 5.6.0: проблемы несовместимости?

Я не знаю, является ли это проблемой Symfony или проблемой FOSUserBundle, поэтому я сообщу здесь и надеюсь получить некоторую помощь. У меня есть два экземпляра разработки:

CentOS 6.5, PHP 5.5.16, MySQL 5.5.37
CentOS 7, PHP 5.6.0, MariaDB 5.5.37

Я пробовал один и тот же проект в обоих случаях, и под одним и тем же проектом я подразумеваю одно и то же: копировал без какого-либо поставщика и в обоих случаях сначала запускал «обновление композитора». После того, как композитор обновил поставщика, я попытался получить доступ к административной области, которая обрабатывается FOSUserBundle, и, к удивлению, в первом случае он работает без проблем, но во втором он не работает, и я получаю эту ошибку:

Ошибка! Предупреждение: ошибочный формат данных для десериализации «Tanane\UserBundle\Entity\User» в /var/www/html/tanane/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php, строка 872.

Может ли кто-нибудь дать мне несколько советов по этому поводу? Является ли ошибка Symfony или ошибка FOSUserBundle? Или дело в другом и я этого не вижу?


person ReynierPM    schedule 02.09.2014    source источник


Ответы (1)


Да, это известная проблема, хотя ее нет в FOSUserBundle. Эта проблема вызвана Doctrine 2, там десериализация нарушена при создании файла ClassMetadataInfo.

Однако решение этой проблемы связано с внесением некоторых несовместимостей в архитектуру Doctrine, так что это не будет исправлено, по крайней мере, до выпуска Doctrine 2.5.

В настоящее время можно вернуться к PHP 5.5 или более ранней версии или использовать основную версию Doctrine (запрос на вытягивание, исправляющий это, похоже, еще не помечен)

Дополнительную информацию см. в этом билете Doctrine Jira.

person kix    schedule 02.09.2014
comment
Спасибо ! Этот ответ спасает жизнь. У меня возникли проблемы с десериализацией моего проекта Symfony2, который я пытался запустить на PHP 5.6 и не мог понять, почему. Я пробовал с 5.4, и теперь он работает отлично. - person Lapixel; 12.05.2015
comment
Doctrine больше не использует JIRA и перенесла все задачи на Github. Таким образом, эта последняя ссылка 404s; эквивалент на GH: github.com/doctrine/doctrine2/issues/3897. - person Sam; 12.09.2017