Я не знаю, является ли это проблемой 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? Или это другое дело, и я не вижу его?
Да, это известная проблема, хотя это не в FOSUserBundle
. Эта проблема вызвана Doctrine 2, десериализация нарушена там при создании ClassMetadataInfo
.
Тем не менее, исправление этой проблемы связано с введением некоторых несовместимостей в архитектуре Doctrine, поэтому это не будет исправлено до тех пор, пока не будет выпущена версия Doctrine 2.5.
В настоящее время можно переключиться на PHP 5.5 или меньше или использовать основную версию Doctrine ( исправление запроса на перенос , похоже, пока не помечено)
См. Этот билет доктрины Jira для получения дополнительной информации.