看板 PHP 關於我們 聯絡資訊
我用以下三個檔案(class.db.connector.php, 1.php, 2.php)測試.. 不知道結構是不是跟你遇到的問題類似? 然後我在 1.php 用 $db->save('字串') 塞了 n 個進去.. 2.php unserialize之後 $store dump 出來的內容是一樣的 @@ PS: 我在 xp 上用 wamp 跑(php5.2.6) == <?php // class.db.connector.php class DBConnector { var $db; var $store = array(); function __construct() { $this->conn(); } function conn() { $this->db =& new mysqli("localhost", "root", "", "test"); } function query() { $this->result = $this->db->query('SELECT * FROM test')->fetch_object(); } function __sleep() { return array_keys(get_object_vars($this)); } function __wakeup() { $this->conn(); } function save($input) { array_push($this->store, $input); } } // -- eof : class.dbconnector.php <?php // 1.php session_start(); include 'class.dbconnector.php'; $db =& new DBConnector(); $db->save('a'); $db->save('b'); $db->save('c'); $db->save('d'); var_dump($db); $_SESSION['obj'] = serialize($db); // -- eof : 1.php <?php // 2.php session_start(); include 'class.dbconnector.php'; $db = unserialize($_SESSION['obj']); $db->query(); var_dump($db); // -- eof : 2.php -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.175.168.223 ※ 編輯: foxzgerald 來自: 218.175.168.223 (11/23 23:44)
showsky :我是跑在freeBSD 上... 11/23 23:45
foxzgerald :那你可以試一下上面的 code 嗎? win上跑似乎正常@@ 11/23 23:49
後來發現些錯誤.. 所以修正一下. __sleep() 和 __wakeup() 確實不能省略. ※ 編輯: foxzgerald 來自: 218.175.168.223 (11/24 00:56)