arpad Wed, 02 Nov 2011 16:53:22 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=318698
Log: fix calling user close func when it isn't open Changed paths: U php/php-src/branches/PHP_5_4/ext/session/session.c U php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_014.phpt A php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_015.phpt U php/php-src/trunk/ext/session/session.c U php/php-src/trunk/ext/session/tests/session_set_save_handler_class_014.phpt A php/php-src/trunk/ext/session/tests/session_set_save_handler_class_015.phpt Modified: php/php-src/branches/PHP_5_4/ext/session/session.c =================================================================== --- php/php-src/branches/PHP_5_4/ext/session/session.c 2011-11-02 16:10:32 UTC (rev 318697) +++ php/php-src/branches/PHP_5_4/ext/session/session.c 2011-11-02 16:53:22 UTC (rev 318698) @@ -1649,7 +1649,6 @@ remove_user_shutdown_function("session_shutdown" TSRMLS_CC); } - PS(mod_user_implemented) = 1; if (PS(mod) && PS(session_status) == php_session_none && PS(mod) != &ps_mod_user) { zend_alter_ini_entry("session.save_handler", sizeof("session.save_handler"), "user", sizeof("user")-1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); } @@ -1674,7 +1673,6 @@ efree(name); } - PS(mod_user_implemented) = 1; if (PS(mod) && PS(mod) != &ps_mod_user) { zend_alter_ini_entry("session.save_handler", sizeof("session.save_handler"), "user", sizeof("user")-1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); Modified: php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_014.phpt =================================================================== --- php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_014.phpt 2011-11-02 16:10:32 UTC (rev 318697) +++ php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_014.phpt 2011-11-02 16:53:22 UTC (rev 318698) @@ -28,5 +28,3 @@ *** Testing session_set_save_handler() : calling default handler when save_handler=user *** Fatal error: SessionHandler::open(): Cannot call default session handler in %s on line %d - -Fatal error: Unknown: Cannot call default session handler in %s on line %d Added: php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_015.phpt =================================================================== --- php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_015.phpt (rev 0) +++ php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_015.phpt 2011-11-02 16:53:22 UTC (rev 318698) @@ -0,0 +1,24 @@ +--TEST-- +Test session_set_save_handler() : register session handler but don't start +--INI-- +session.save_handler=files +session.name=PHPSESSID +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php + +ob_start(); + +/* + * Prototype : bool session_set_save_handler(SessionHandler $handler [, bool $register_shutdown_function = true]) + * Description : Sets user-level session storage functions + * Source code : ext/session/session.c + */ + +echo "*** Testing session_set_save_handler() : register session handler but don't start ***\n"; + +session_set_save_handler(new SessionHandler); + +--EXPECTF-- +*** Testing session_set_save_handler() : register session handler but don't start *** Modified: php/php-src/trunk/ext/session/session.c =================================================================== --- php/php-src/trunk/ext/session/session.c 2011-11-02 16:10:32 UTC (rev 318697) +++ php/php-src/trunk/ext/session/session.c 2011-11-02 16:53:22 UTC (rev 318698) @@ -1649,7 +1649,6 @@ remove_user_shutdown_function("session_shutdown" TSRMLS_CC); } - PS(mod_user_implemented) = 1; if (PS(mod) && PS(session_status) == php_session_none && PS(mod) != &ps_mod_user) { zend_alter_ini_entry("session.save_handler", sizeof("session.save_handler"), "user", sizeof("user")-1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); } @@ -1674,8 +1673,6 @@ efree(name); } - PS(mod_user_implemented) = 1; - if (PS(mod) && PS(mod) != &ps_mod_user) { zend_alter_ini_entry("session.save_handler", sizeof("session.save_handler"), "user", sizeof("user")-1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); } Modified: php/php-src/trunk/ext/session/tests/session_set_save_handler_class_014.phpt =================================================================== --- php/php-src/trunk/ext/session/tests/session_set_save_handler_class_014.phpt 2011-11-02 16:10:32 UTC (rev 318697) +++ php/php-src/trunk/ext/session/tests/session_set_save_handler_class_014.phpt 2011-11-02 16:53:22 UTC (rev 318698) @@ -28,5 +28,3 @@ *** Testing session_set_save_handler() : calling default handler when save_handler=user *** Fatal error: SessionHandler::open(): Cannot call default session handler in %s on line %d - -Fatal error: Unknown: Cannot call default session handler in %s on line %d Added: php/php-src/trunk/ext/session/tests/session_set_save_handler_class_015.phpt =================================================================== --- php/php-src/trunk/ext/session/tests/session_set_save_handler_class_015.phpt (rev 0) +++ php/php-src/trunk/ext/session/tests/session_set_save_handler_class_015.phpt 2011-11-02 16:53:22 UTC (rev 318698) @@ -0,0 +1,24 @@ +--TEST-- +Test session_set_save_handler() : register session handler but don't start +--INI-- +session.save_handler=files +session.name=PHPSESSID +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php + +ob_start(); + +/* + * Prototype : bool session_set_save_handler(SessionHandler $handler [, bool $register_shutdown_function = true]) + * Description : Sets user-level session storage functions + * Source code : ext/session/session.c + */ + +echo "*** Testing session_set_save_handler() : register session handler but don't start ***\n"; + +session_set_save_handler(new SessionHandler); + +--EXPECTF-- +*** Testing session_set_save_handler() : register session handler but don't start ***
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php