PHP 4.0 Bug #9264 Updated: Using session_encode with user-level session storage functions causes a crash

From: Date: Sat, 17 Mar 2001 17:08:15 +0000
Subject: PHP 4.0 Bug #9264 Updated: Using session_encode with user-level session storage functions causes a crash
Groups: php.dev 
Request: Send a blank email to php-dev+get-49230@lists.php.net to get a copy of this message
ID: 9264 User Update by: lolo@phpheaven.net Status: Open Bug Type: *Session related Description: Using session_encode with user-level session storage functions causes a crash Hi! I've done a test with the new php4.0.5-RC1 from php4win.de and the crash still occurs. Regards, Loïc Previous Comments: --------------------------------------------------------------------------- [2001-02-15 11:05:27] lolo@phpheaven.net Oups, in the code before I omited to put the 'open session' function. Here it is: function dbSessionOpen($savePath, $sessionName) { return true; } --------------------------------------------------------------------------- [2001-02-14 12:39:47] lolo@phpheaven.net Hi! Be indulgent for my poorly english level please... To force session data to be saved when using a database based session storage system and 'register_globals' is set to off I've build this (very) simplified structure of script: function dbSessionClose() { return true; } function dbSessionRead($id) { return true; } function dbSessionWrite($id, $data) { return true; } function dbSessionDestroy($id) { return true; } function dbSessionGarbageCollector($sessionLifeTime) { return true; } function dbSessionSave() { return dbSessionWrite(session_id(), session_encode()); // The note below is about this line } session_set_save_handler('dbSessionOpen', 'dbSessionClose', 'dbSessionRead', 'dbSessionWrite', 'dbSessionDestroy', 'dbSessionGarbageCollector'); /** * Uses session */ session_start(); session_register('myVar'); $myVar = 'crash'; dbSessionSave(); Then each time I run it with the latest PHP 4.0.5dev loaded as an apache module, PHP crash and produces this error: APACHE a causé une défaillance de page dans le module PHP4TS.DLL à 016f:008a533e. Registres : EAX=00000000 CS=016f EIP=008a533e EFLGS=00010246 EBX=00000000 SS=0177 ESP=01e2f274 EBP=007f7df0 ECX=007ee7a0 DS=0177 ESI=007ee164 FS=2217 EDX=007ee130 ES=0177 EDI=007f7c46 GS=0000 Octets à CS : EIP : 8b 00 8b 4c 24 0c 8b 54 24 08 51 8b 4c 24 08 42 État de la pile : 008a57b4 007f7c40 00000005 01e2f2a4 007ee7a0 007ee130 007dd720 00000001 00000000 007dd720 007f7b10 007f7c40 00000000 00000000 007ee7a0 007dd720 An amazing note: if... - ... at the first run I replace the call to the session_encode() function by the string 'crash', fire the script... - ... then resume to the original 'dbSessionSave()' function and run the script again... ... everything go right! --------------------------------------------------------------------------- Full Bug description available at: http://bugs.php.net/?id=9264

« previous php.dev (#49230) next »