Php PDO异常:无法序列化或取消序列化PDO实例

Php PDO异常:无法序列化或取消序列化PDO实例,php,serialization,pdo,memcached,Php,Serialization,Pdo,Memcached,我试图用memcache在PHP中缓存我的用户对象,但在使用PDO时出错。我增加了睡眠和唤醒功能 User.php /** * @var PDO */ protected $db; public function __construct() { $this->db = getInstanceOf('db'); } public function __destruct() { } public function __sleep() { return array('

我试图用memcache在PHP中缓存我的用户对象,但在使用PDO时出错。我增加了睡眠和唤醒功能

User.php

/**
 * @var PDO
 */
protected $db;

public function __construct()
{
    $this->db = getInstanceOf('db');
}

public function __destruct()
{

}

public function __sleep()
{
    return array('db');
}

public function __wakeup()
{
    $this->db = getInstanceOf('db');
}
getInstanceOf('db')返回一个pdo对象

返回以下错误:

PDOException:不能在第41行的/var/www/test/User.php中序列化或取消序列化PDO实例


很可能
$this->db
是一个PDO对象。无法序列化PDO对象

\uuuu sleep()
上删除该对象,并将其添加回
\uuuu wakeup()
(在后面的示例中,您已经这样做了):

无法序列化无法序列化的对象。但是你试过了,所以你得到了例外。这基本上就是整个问题。只是不要告诉PHP序列化无法序列化的对象

public function __sleep()
{
    return array();
}