无法在ZF2中的memcache中正确存储SplQueue对象..?

时间:2016-03-22 06:32:25

标签: php queue memcached

我使用SplQueue php类创建数据队列并将队列存储在memcache中:

$queue = new \SplQueue();
$queue->enqueue($data);
print_r($queue);
$this->getServiceLocator()->get('memcached')->setItem('key', $queue);
$queue = $this->getServiceLocator()->get('memcached')->getItem('key');
print_r($queue);

上次print_r给出了这样的空白结果:

SplQueue Object
(
    [flags:SplDoublyLinkedList:private] => 4
    [dllist:SplDoublyLinkedList:private] => Array
        (
        )

)

但是第一个print_r正在按预期提供生成的队列。此代码在我的本地系统上正常工作,但在生产服务器上生成上述问题。

注意: - 两台机器上的Memcahced版本相同1.4

任何帮助将不胜感激.. !!

1 个答案:

答案 0 :(得分:1)

在谷歌搜索时,我发现here这是一个问题,PHP版本中SplDoublyLinkedList类的序列化低于5.4。 SplDoublyLinkedList::serialize没有在生产服务器上运行(因为服务器运行的是PHP 5.3),除了将PHP版本升级到5.4之外,没有替代解决方案。