[PATCH] session.serialize_handler declared by shared extension fails
| Bug #45406 | [PATCH] session.serialize_handler declared by shared extension fails | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2008-07-01 16:29 UTC | Modified: | 2008-08-06 21:34 UTC |
|
||||||||||
| From: | oleg dot grenrus at dynamoid dot com | Assigned: | ||||||||||||
| Status: | Closed | Package: | Session related | |||||||||||
| PHP Version: | 5.2.6 | OS: | * | |||||||||||
| Private report: | No | CVE-ID: | None | |||||||||||
[2008-07-01 16:29 UTC] oleg dot grenrus at dynamoid dot com
Description: ------------ PHP warnings are issued as PHP Warning: session_start(): Unknown session.serialize_handler. Failed todecode session object. in - on line 2 PHP Warning: Unknown: Unknown session.serialize_handler. Failed to encode session object. in Unknown on line 0 These happen because session module try's to find serialize_handler before serializer module is loaded (and registered itself as valid serialize_handler) There are check for save_handler (PS(mod) != NULL) in the PHP_RINIT_FUNCTION(session), but not for PS(serializer) I wrote a short patch http://phadej.daug.net/php-5.2.6-serialize_handler.patch against php-5.2.6. PHP_RINIT_FUNCTION seems to be same in php-5.2 and php-5.3 brances. Reproduce code: --------------- php -d "extension=wddx.so" -d 'session.serialize_handler=wddx' <<\EOF <?php var_dump(session_start()); ?> EOF Expected result: ---------------- bool(true) Actual result: -------------- PHP Warning: session_start(): Unknown session.serialize_handler. Failed to decode session object. in /home/phadej/dev/php-sess-bug/- on line 2 bool(true) PHP Warning: Unknown: Unknown session.serialize_handler. Failed to encode session object. in Unknown on line 0
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2008-08-04 06:22 UTC] kalle@php.net