我正在尝试unserialize
保存对象的实例状态,但由于“偏移错误”错误,serialized
我的对象无法恢复。
这适用于我尝试反序列化的所有对象,即使是最简单的对象。
class Object
{
protected $variable = true;
}
$object = serialize(new Object());
$string = 'O:6:"Object":1:{s:11:"*variable";b:1;}';
echo $object."\n";
echo "length: ". strlen($object)."\n\n";
echo $string . "\n"; // Strangely 2 characters shorter than $object
echo "length: ". strlen($string)."\n";
unserialize($object); // Works
unserialize($string); // Does not work
此代码输出:
O:6:"Object":1:{s:11:"*variable";b:1;}
length: 40
O:6:"Object":1:{s:11:"*variable";b:1;}
length: 38
Notice: unserialize(): Error at offset 33 of 38 bytes
我被卡住了,为什么我不能反序列化保存的字符串?