将PHP序列化从PHP 5.3迁移到PHP 5.6
我有一个复杂的结构,使用sericalize()函数保存在
MySQL数据库中,然后使用unserialize()转换回来.将系统从
PHP 5.3迁移到
PHP 5.6并在5.6中反序列化在5.3上序列化的数据后,结构已损坏.对象的某些引用现在显示为数组.
我的问题是: >是否有关于不同PHP版本中序列化/反序列化使用的不同编码的规范? (在我的Google搜索或PHP.net上的文档中找不到任何具体的内容)
是的,在PHP5.6中更改了对象的序列化.具体而言,与PHP5.6相关的许多与对象序列化相关的领域都有所不同
在PHP unserialize manual中有一个含糊的提示:
然而,看看错误列表显示report 68099还有更多内容.它还声明原始格式没有官方文档:
请注意,该讨论的最终结果是“无法修复”. 所以基本上,你的选择是: >尝试使用其他序列化程序之一作为在PHP版本之间导出数据的方法.如session_encode也可以处理对象. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |