Edit report at http://bugs.php.net/bug.php?id=53141&edit=1
ID: 53141 User updated by: ladislav at marek dot su Reported by: ladislav at marek dot su Summary: autoload misbehaves if called from closing session Status: Open Type: Bug Package: SPL related Operating System: GNU Linux PHP Version: 5.3SVN-2010-10-23 (SVN) Block user comment: N New Comment: I can reproduce it with '--with-mysql=mysqlnd' configuration. Previous Comments: ------------------------------------------------------------------------ [2010-10-23 17:38:12] ladislav at marek dot su I updated PHP from the SVN (rev 304664). With PHP compiled only with "--with-config-file-path=/etc/php" script runs as expected, but fails with configure options: --with-config-file-path=/etc/php --with-openssl --with-kerberos --with-zlib --enable-bcmath --with-bz2 --with-curl --with- curlwrappers --enable-dba --enable-ftp --with-gd --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-zlib- dir=/usr/include --with-xpm-dir=/usr/include --with-freetype-dir=/usr/lib --enable-gd-native-ttf --with-gettext --with-mhash --with-imap --with-imap-ssl --with-ldap --enable-mbstring --with-mcrypt --with-mysql=mysqlnd --with-mysqli=mysqlnd --with- pdo-mysql=mysqlnd --with-pdo-pgsql --with-pgsql --enable-shmop --enable-soap --enable-sockets --enable-sqlite-utf8 --enable- sysvmsg --with-tidy --with-xmlrpc --with-xsl --enable-zip --enable-intl --enable-fpm ------------------------------------------------------------------------ [2010-10-23 16:55:02] fel...@php.net I got the expected result when testing on the 5.3 SVN version. Are you actually using the lastest SVN version? ------------------------------------------------------------------------ [2010-10-23 10:36:09] ladislav at marek dot su Description: ------------ SPL autoload triggers fatal error if is called from currently closing session. With __autoload function scripts works fine. Test script: --------------- spl_autoload_register(function ($class) { var_dump("Loading $class"); eval('class Bar {}'); }); class Foo { function __sleep() { new Bar; return array(); } } session_start(); $_SESSION['foo'] = new Foo; Expected result: ---------------- string(11) "Loading Bar" Actual result: -------------- Fatal error: spl_autoload(): Class Bar could not be loaded in /var/www/hosts/tests.l/index.php on line 14 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=53141&edit=1