#29985 [Asn->Csd]: unserialize()/ __PHP_Incomplete_class does not report correctly class name

From: Date: Sun, 09 Oct 2005 13:36:12 +0000
Subject: #29985 [Asn->Csd]: unserialize()/ __PHP_Incomplete_class does not report correctly class name
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-86274@lists.php.net to get a copy of this message
ID: 29985 Updated by: helly@php.net Reported By: andrey@php.net -Status: Assigned +Status: Closed Bug Type: Session related Operating System: * PHP Version: 5CVS-2005-10-06 (snap) Assigned To: helly New Comment: Thank you for your bug report. This issue has already been fixed in the latest released version of PHP, which you can download at http://www.php.net/downloads.php This is fixed in all actrive branches, 4.3.*, 5.0.*, 5.1.*, HEAD. The 'Unknown' comes from cli and specifies the causing location and has nothing to do with the class name. Previous Comments: ------------------------------------------------------------------------ [2005-10-09 15:27:25] helly@php.net I claimed fixed in CVS which is HEAD which will be 6 not any 5.* ------------------------------------------------------------------------ [2005-10-06 18:27:38] sniper@php.net Marcus, you claimed to have fixed this. Can you check it out? ------------------------------------------------------------------------ [2005-10-06 15:40:02] nohn@php.net Yes, it is reproducible: C:\Dokumente und Einstellungen\nohn_s\Desktop\php5.1-win32-200510031830>php test.php object(__PHP_Incomplete_Class)#1 (2) { ["__PHP_Incomplete_Class_Name"]=> string(3) "bar" ["someProp"]=> int(2) } Fatal error: main(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "bar" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in C:\Dokumente und Einstellungen\nohn_s\Desktop\php5.1-win32-200510031830\test.php on line 2 ------------------------------------------------------------------------ [2005-10-06 15:15:23] sniper@php.net Can you reproduce with 5.1-dev? ------------------------------------------------------------------------ [2005-10-06 14:56:58] nohn@php.net Reopening this bug. Could reproduce it with PHP 5.0.5 on WinXP: >type test.php <?php class foo{function someFunc(){} var$someProp=2;}$a=serialize(new foo());$b=str_replace('foo','bar',$a);var_dum p($c = unserialize($b));$c->someFunc(); ?> >php test.php object(__PHP_Incomplete_Class)#1 (2) { ["__PHP_Incomplete_Class_Name"]=> string(3) "bar" ["someProp"]=> int(2) } Fatal error: main(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "bar" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in C:\Dokumente und Einstellungen\nohn_s\Desktop\php-5.0.5\test.php on line 2 ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/29985 -- Edit this bug report at http://bugs.php.net/?id=29985&edit=1

« previous php.bugs (#86274) next »