PDOException: PDO-Instanzen können nicht serialisiert oder serialisiert werden

8

Ich habe versucht, mein User-Objekt in PHP mit Memcache zwischenzuspeichern, aber ich bekomme einen Fehler bei der Verwendung von PDO. Ich habe einen __sleep und eine __wakeup Funktion hinzugefügt.

User.php

%Vor%

getInstanceOf ('db') gibt ein pdo-Objekt zurück ...

Gibt den folgenden Fehler zurück:

  

PDOException: Sie können PDO-Instanzen in Zeile /var/www/test/User.php in Zeile 41 nicht serialisieren oder dasisialisieren

    
MaxiNet 02.01.2012, 12:17
quelle

1 Antwort

11

Wahrscheinlich ist $this->db ein PDO-Objekt. PDO-Objekte können nicht serialisiert werden.

Entfernen Sie das Objekt in __sleep() und fügen Sie es unter __wakeup() hinzu (was Sie im letzten Fall bereits tun):

%Vor%

Sie können Objekte, die nicht serialisiert werden können, nicht serialisieren. Aber du hast es versucht, also hast du die Ausnahme bekommen. Das ist im Grunde das ganze Problem. Sag einfach nicht, dass PHP Objekte serialisiert, die nicht serialisiert werden können.

    
hakre 02.01.2012, 12:19
quelle

Tags und Links