Symfony 2.5.3和PHP 5.6.0:不兼容问题


Symfony 2.5.3 and PHP 5.6.0: incompatibility issues?

我不知道这是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票证。