0

我找不到为什么 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 ...
4

0 回答 0