Hallo wahsaga,
Wie hast du die Session-Daten wieder aus der DB rausgeholt?
ich nehme an du meinst den session handler "read"?
Und wie sieht dein GC bzw. die Löschfunktion aus?
Hier mal meine komplette Session-Handling Klasse:
class Session
{
function Session()
{
session_set_save_handler(array('Session', '_open'),
array('Session', '_close'),
array('Session', '_read'),
array('Session', '_write'),
array('Session', '_destroy'),
array('Session', '_gc'));
}
function _open(){
// db verbindung bereits hergestellt
}
function _close(){
// db verbindung wird am ende des scripts geschlossen
}
function _read($unique_id){
global $db;
return $db->getRow("SELECT * FROM " . DBPREFIX . "sessions WHERE unique_id = " . Tools::escape4sql($unique_id));
/* ergibt z.B. folgendes Array:
Array
(
[unique_id] => 41b254ed2f638bd05fdb06442e0952b7
[last_access] => 2006-10-04 15:22:02
[session_data] => zaehler|i:0;
)
*/
}
function _write($unique_id, $session_data){
global $db;
return $db->query("REPLACE INTO " . DBPREFIX . "sessions SET unique_id = " . Tools::escape4sql($unique_id) . ", last_access = NOW(), session_data = " . Tools::escape4sql($session_data));
}
function _destroy($unique_id){
global $db;
return $db->delete("sessions", "unique_id = " . Tools::escape4sql($unique_id));
/* gleichbedeutend mit mysql_query("DELETE FROM sessions WHERE unique_id = " . Tools::escape4sql($unique_id) */
}
function _gc($session_lifetime = SESSION_LIFETIME){
global $db;
return $db->delete("sessions", "last_access < DATE_SUB(NOW(), INTERVAL " . $session_lifetime . " MINUTE)");
/* gleichbedeutend mit mysql_query("DELETE FROM sessions WHERE last_access < DATE_SUB(NOW(), INTERVAL " . $session_lifetime . " MINUTE)" */
}
}
Gruß,
Günther
PS: Hier noch einige Daten von phpinfo():
session
Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary wddx
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 4 4
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path C:\Programme\xampp\tmp C:\Programme\xampp\tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0