我有一個複雜的結構,它使用sericalize()函數保存在MySQL數據庫中,然後使用unserialize()轉換回來。將系統從PHP 5.3遷移到PHP 5.6並在5.6中反序列化5.3中序列化的數據後,結構已損壞。對象的某些引用現在顯示爲數組。將PHP序列化從PHP 5.3遷移到PHP 5.6
我的問題是:
是否有關於不同的PHP版本使用的序列化/反序列化不同的編碼規範? (在我的Google搜索或PHP.net文檔中找不到任何具體的東西)
如何將序列化數據從PHP 5.3編碼轉換爲PHP 5.6編碼?
你好, 你能提供更多關於beeing序列化的信息嗎?它是一個類還是一組數據? –
反序列化對象時,必須在代碼中包含類定義。因此,如果您在存儲對象的位置以外的常規代碼庫之外進行測試,或者如果您更改了對象結構,那麼它們將不會正確反序列化。如果您需要更改對象結構,請保留舊對象,然後使用新結構重新創建新對象並重新進行串行化。 (不作爲答案張貼,因爲我無法測試它 - 但它們是需要查找的東西!) – Robbie