Re: Bug #52477

From: Date: Mon, 08 Nov 2010 19:12:12 +0000
Subject: Re: Bug #52477
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-50129@lists.php.net to get a copy of this message
On Mon, Nov 8, 2010 at 1:33 PM, Alexandr Verbitsky <verbitsky_alexandr@mail.by> wrote: > Hi all. > I am investigate in the reason Bug #52477 (http://bugs.php.net/52477) and > found that it appear because in PHP 5.2.14 there are two constant > PS_DELIMITER and PS_UNDEF_MARKER. The value it's constants not allow to use > in the root key of SESSION elements. > Also in the version 5.2.0 was Bug #40274 (http://bugs.php.net/40274). For > its decision the code has been added in PS_ENCODE_LOOP to pass elements with > numerical keys. > > I not understand for what is necessary special algorithm for serialize roots > elements. Why dont using php_get_session_var and php_var_unserialize > functions for PS(http_session_vars) directly? Where i can read about it in > manual? Hi, The special algorithm was necessary because the root keys could be used in session_register() as global variables, which have certain naming restrictions. This is no longer necessary since session_register() has been deprecated. I wrote a patch a while ago to use php_var_serialize but the complication emerged of adding a version number to the serialized string (otherwise migrating existing sessions is awkward). I haven't had time to work on it but can dig up the latest code if you'd like, it will be another few weeks until I can pick it up again. Regards, Arpad

« previous php.internals (#50129) next »