我不知道这是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处理的管理区域,令人惊讶的是,在第一个实例中它工作没有任何问题,但在第二个实例中,它不工作,我得到了这个错误:
错误!警告:用于取消序列化的数据格式错误中的"Tanane\UserBundle\Entity\User"/var/www/html/tanane/vender/doctrine/orm/lib/doctrine/OM/Mapping/ClassMetadataInfo.php872线
有人能给我一些建议吗?是Symfony错误还是FOSUserBundle错误?或者是另一件事,而我没有看到?
是的,这是一个已知的问题,尽管它不在FOSUserBundle
中。这个问题是由条令2引起的,在创建ClassMetadataInfo
时反序列化被破坏了。
然而,解决这个问题需要在条令的体系结构中引入一些不兼容性,所以至少在条令2.5发布之前,这个问题不会得到解决。
目前,选项是切换回PHP 5.5或更低版本,或使用Doctrine的主版本(修复此问题的pull请求似乎尚未标记)
有关更多信息,请参阅此Doctrine Jira票证。