反序列化数据错误

时间:2012-08-27 18:05:22

标签: php serialization pdo

我无法找到为什么php说我:

Warning: Insufficient data for unserializing - 5468 required, 226 present

我正在尝试序列化并在反序列化一些对象和数据之后。

也许它太大了?

编辑:

由于不太可能发布代码,因为它太复杂了,我会解释我在做什么:

我正在序列化数据以将其保存到会话中。 我在会话中保存了一个Basket对象,其中包含一个产品(对象)列表。产品类实现了Serialize,以避免在某些ORM功能的类中保存PDO对象(在序列化时返回错误)。

以下是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 ...

0 个答案:

没有答案