我不知道这是Symfony的问题还是FOSUserBundle的问题,因此我将在这里报告,希望获得帮助。我有两个开发实例:
CentOS 6.5, PHP 5.5.16, MySQL 5.5.37
CentOS 7, PHP 5.6.0, MariaDB 5.5.37
我在两个实例中都尝试了相同的项目,对于相同的项目,我的意思是相同的:在没有任何供应商的情况下进行复制,并且在两个实例中都首先运行“composer update”。在 Composer 更新供应商之后,我尝试访问由FOSUserBundle处理的管理区域,并且在第一个实例中感到惊讶,它可以正常工作,但在第二个实例中则无法正常工作,并且出现此错误:
可以给我一些建议吗?是Symfony错误还是FOSUserBundle错误?还是其他东西,我看不到?
最佳答案
是的,尽管不是FOSUserBundle
,但这是一个已知的问题。此问题是由Doctrine 2引起的,在创建ClassMetadataInfo
时,反序列化在此中断。
但是,解决此问题涉及在Doctrine的体系结构中引入一些不兼容性,因此至少在Doctrine 2.5发行之前,此问题不会得到解决。
当前,选项是切换回PHP 5.5或更低版本或使用Doctrine的主版本(the pull request fixing this似乎尚未标记)
有关更多信息,请参见this Doctrine Jira ticket。