ID: 37670 Updated by: [EMAIL PROTECTED] Reported By: daniel dot oconnor at gmail dot com -Status: Feedback +Status: Bogus Bug Type: Class/Object related Operating System: windows PHP Version: 5.1.4 New Comment:
I fail to see a bug here. What ever you use to view the output it doesn't show beyond \0. Protected properties are preceeded by \0*\0 though. Previous Comments: ------------------------------------------------------------------------ [2006-06-02 06:58:44] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip Works fine for me too. Please try a snapshot. ------------------------------------------------------------------------ [2006-06-02 06:49:01] daniel dot oconnor at gmail dot com Sorry, I can't try it on the CVS copy. To amend the bug report: <?php class BugFeed { protected $cache; public function __construct($options) { if (isset($options["cache"])) { $this->cache = $options["cache"]; } } public function fetch() {} public static function render($type = "edit") {} } $stuff = array(new BugFeed(array())); $cereal = serialize($stuff); $stuff2 = unserialize($cereal); $stuff3 = unserialize((string)$cereal); var_dump($stuff2 == $stuff); var_dump($stuff3 == $stuff); var_dump(strlen($cereal)); print $cereal . "\n"; print (string)$cereal; print "hello world?"; ---- Produces: bool(true) bool(true) int(45) a:1:{i:0;O:7:"BugFeed":1:{s:8:" --- That is to say: there's an unexpected EOF character output in the serialized code. ------------------------------------------------------------------------ [2006-06-02 06:24:13] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip Works just fine for me ------------------------------------------------------------------------ [2006-06-02 03:28:23] daniel dot oconnor at gmail dot com Description: ------------ Serialize does not appear to be serializing fully or safely. Reproduce code: --------------- <?php class BugFeed { protected $cache; public function __construct($options) { if (isset($options["cache"])) { $this->cache = $options["cache"]; } } public function fetch() {} public static function render($type = "edit") {} } $stuff = array(new BugFeed(array())); print serialize($stuff); Expected result: ---------------- a serialized string of my BugFeed object, or if it was unable to properly serialize it, an exception or warning. Actual result: -------------- a:1:{i:0;O:7:"BugFeed":1:{s:8:" ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=37670&edit=1