Edit report at https://bugs.php.net/bug.php?id=60919&edit=1
ID: 60919 Updated by: ras...@php.net Reported by: the...@php.net Summary: __wakeup is not called -Status: Critical +Status: Feedback Type: Bug Package: Scripting Engine problem Operating System: (Any) PHP Version: 5.4.0RC6 Block user comment: N Private report: N New Comment: I can't actually reproduce this in the current 5.4 code: % php --version PHP 5.4.0RC7-dev (cli) (built: Jan 28 2012 13:21:30) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies % php -r 'class A { function __sleep() { echo "SLEEP\n"; return array(); } function __wakeup() { echo "WAKEUP"; }} $a= unserialize(serialize(new A()));' SLEEP WAKEUP Previous Comments: ------------------------------------------------------------------------ [2012-01-28 20:58:08] the...@php.net Description: ------------ In 5.4.0RC6, a __wakeup() method is no longer called during unserialization. Test script: --------------- $ php -r 'class A { function __sleep() { echo "SLEEP\n"; return array(); } function __wakeup() { echo "WAKEUP"; }} $a= unserialize(serialize(new A()));' Expected result: ---------------- SLEEP WAKEUP object(A)#1 (0) { } Actual result: -------------- SLEEP object(A)#1 (0) { } ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=60919&edit=1