Napisanie własnego handlera to moment. Takie coś napisałem jakieś 11 lat temu.
https://www.php.net/manual/en/function.session-set-save-handler.php
<?php
function open ($save_path, $session_name) {return true;}
function close() {return true;}
function read ($id) {
if ($data = db_query("SELECT data FROM ".config('session_table')." WHERE id='$id' LIMIT 1")->fetch_assoc())
return $data['data'];
else
return '';
}
function write ($id, $sess_data) {
return db_query("INSERT INTO ".config('session_table')." (id, user, time, data) VALUES ('$id', '".get_from_session('id')."', '".time()."', '$sess_data') ON DUPLICATE KEY UPDATE data='$sess_data' , user='".get_from_session('id')."', time='".time()."'");
}
function destroy ($id) {
return db_query("DELETE FROM ".config('session_table')." WHERE id='$id'");
}
function gc ($maxlifetime) {
return db_query("DELETE FROM ".config('session_table')." WHERE (time < ".time()." - $maxlifetime ) OR (time < ".time()." - 86400 AND user='0')");
}
session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");
?>