我找不到为什么 php 说我:
Warning: Insufficient data for unserializing - 5468 required, 226 present
我正在尝试序列化并在反序列化一些对象和数据之后。
也许它太大了?
编辑 :
由于无法发布代码,因为它太复杂了,我将解释我在做什么:
我正在序列化数据以将其保存到会话中。我在会话中保存了一个带有产品(对象)列表的 Basket 对象。产品类实现 Serialize 以避免保存 PDO 对象(在序列化时返回错误),该对象在某些 ORM 功能的类中。
以下是 Serialize 接口的实现方法:
public function serialize() {
$serialized = \serialize(array(
'_vars' => $this->getVars(),
'_returnNullIfEmpty' => $this->_returnNullIfTempty,
'_dataModel' => $this->getDataModel()
));
return $serialized;
}
public function unserialize($data) {
$unserialized = \unserialize($data);
$this->setVars($unserialized['_vars']);
$this->_returnNullIfEmpty = $unserialized['_returnNullIfEmpty'];
$this->_dataModel = $unserialized['_dataModel'];
}
我注意到我总是在第一个错误下出现这个错误:
Notice: unserialize() [function.unserialize]: Error at offset 10503 of 10968 bytes in ...