Re: PHP 4.0 Bug #6207: session_set_save_handler() misfunction

From: Date: Thu, 17 Aug 2000 07:57:44 +0000
Subject: Re: PHP 4.0 Bug #6207: session_set_save_handler() misfunction
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-29225@lists.php.net to get a copy of this message
On 17 Aug 2000 perceau@eram.fr wrote: > From: perceau@eram.fr > Operating system: Redhat Linux 6.2 > PHP version: 4.0.1pl2 > PHP Bug Type: Session related > Bug description: session_set_save_handler() misfunction > > I've written the following PHP script to test storing session datas into an Oracle 8i > database : > > <? > > function sess_open($save_path, $session_name) { > return true; > } > > function sess_close() { > return true; > } > > function sess_read($key) { > > print "READ !"; > include("oci8.inc"); > $db=new DB; > $db->connect(); > $db->query("SELECT value FROM php_sessions WHERE sesskey = '$key' AND > expiry > " . time()); > > if (list($value) = $db->FetchRow()) { > return $value; > } > > return false; > } > > function sess_write($key, $val) { > > print "WRITE!"; > include("oci8.inc"); > $db=new DB; > $db->connect(); > $expiry = time() + $SESS_LIFE; > $value = addslashes($val); > > $db->Query("INSERT INTO php_sessions VALUES > ('".$key."',".$expiry.",'".$value."'"); > return true; > } > > function sess_destroy($key) { > > include("oci8.inc"); > $db=new DB; > $db->connect(); > $db->Query("DELETE FROM php_sessions WHERE sesskey = > '".$key."'"); > return true; > } > > function sess_gc($maxlifetime) { > include("oci8.inc"); > $db=new DB; > $db->connect(); > $db->Query("DELETE FROM sessions WHERE expiry < " . time()); > return true; > } > > > session_set_save_handler("sess_open","sess_close","sess_read","sess_write","sess_destroy","sess_gc"); > > > session_register("toto"); > $toto=55; > ?> > > > After submitting it, the only thing that display on the IE 5.5 is READ! > > Why doesn't the session_write function be called ? It is called, but after the link to the browser has been closed. To see this, try writing to a file, instead of a print statement. Derick Rethans JDI Media Solutions

« previous php.dev (#29225) next »