2014-09-02 65 views
7

我不知道這是一個Symfony問題還是一個FOSUserBundle問題,所以我會在這裏報告並希望得到一些幫助。我有兩個發展情況:Symfony 2.5.3和PHP 5.6.0:不兼容問題?

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

我想在這兩種情況下,同一個項目,並通過同一個項目我的意思是一樣的:沒有任何供應商,並在第一次運行「作曲更新」這兩種情況下複製。作曲家更新供應商後,我試圖訪問管理區,這是由,FOSUserBundle和驚喜在裏面工作沒有任何問題,但在第二個這是行不通的一審處理,我得到這個錯誤:

Error! Warning: Erroneous data format for unserializing 'Tanane\UserBundle\Entity\User' in /var/www/html/tanane/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php line 872

任何人都可以給我一些建議嗎?是Symfony錯誤還是FOSUserBundle錯誤?或者這是其他的事情,我看不到它?

回答

13

是的,這是一個已知的問題,但它不在FOSUserBundle。這個問題是由原理2造成的,反序列化在創建ClassMetadataInfo時被打破。

但是,解決這個問題需要在Doctrine的體系結構中引入一些不兼容的特性,所以直到Doctrine 2.5版本發佈後才能解決這個問題。

目前,該選項切換回PHP 5.5以下或使用學說的一個主版本(the pull request fixing this似乎並沒有被尚未標記)

更多信息,請參見this Doctrine Jira ticket

+0

謝謝!這個答案是一個救星。我試圖在PHP 5.6上運行我的Symfony2項目時遇到了非序列化問題,但無法找到原因。 我試過5.4,現在運行完美。 – Lapidouce 2015-05-12 13:25:13

+0

學說不再使用JIRA,並已將所有問題遷移到Github問題。因此,最後的鏈接404s; GH上的等價物是https://github.com/doctrine/doctrine2/issues/3897。 – Sam 2017-09-12 15:06:59