PHP 7.4不兼容的更改列表包含以下注意事项:
那么,
序列化
已删除o序列化格式。由于它从未由PHP生成,因此这可能只会破坏手动创建字符串的反序列化。
(请注意,这是指小写字母o,而不是用于对象序列化的大写字母O格式。)
似乎PHP的serialize()
函数从未生成过这个,但存在这个注释的事实意味着unserialize()
函数曾经识别过它。
我已完成一个小测试fiddle (3v4l.org),显示这不仅仅是大写字母O的同义词,这是一个明显的可能性。
在PHP中,小提琴通过输出的错误消息差异来暴露PHP的更改。在PHP >= 7.4中,我们会在位置0(遇到o
的位置)收到一个错误,而在7.4之前,错误会在位置5(数据所在位置)报告。这意味着识别了o
,但数据格式不正确,这与我已经推断出的相符。那么,
o
序列化格式是什么,它反序列化为什么,为什么PHP支持这样的功能,如果它实际上没有生成它呢?
o
的符号表示法。 - HappyDog