Php PDO异常:无法序列化或取消序列化PDO实例
我试图用memcache在PHP中缓存我的用户对象,但在使用PDO时出错。我增加了睡眠和唤醒功能 User.phpPhp 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('
/**
* @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();
}