session入库实现

    xiaoxiao2021-03-25  35

    <?php /** * session 入库 * 创建数据库 * drop DATABASE if EXISTS session; create DATABASE session CHARSET utf8; use session; drop TABLE if EXISTS session; create table session ( sess_id char(32) UNIQUE NOT NULL, sess_info text, sess_expire int not null default 0 )CHARSET utf8 ENGINE INNODB; */ class MySessionHandler implements SessionHandlerInterface { private static $_link = null; public function open($save_path, $name) { if(is_null(self::$_link)) { self::$_link = mysqli_connect("127.0.0.1", 'root', 8888, 'session'); } if(!self::$_link) { return false; } return true; } public function read($session_id) { $sql = "SELECT * FROM session WHERE sess_id = '{$session_id}'"; $result = mysqli_query(self::$_link, $sql); if($row = mysqli_fetch_assoc($result)) { return $row['sess_info']; } return ''; } public function write($session_id, $session_data) { $time = time(); $sql = "REPLACE INTO session (sess_id, sess_info, sess_expire) VALUES ('{$session_id}', '{$session_data}', $time)"; return mysqli_query(self::$_link, $sql); } public function destroy($session_id) { $sql = "DELETE FROM session WHERE sess_id='{$session_id}'"; return mysqli_query(self::$_link, $sql); } public function gc($maxlifetime) { $time = time() - ini_get('session.gc_maxlifetime'); $sql = "DELETE FROM session WHERE sess_expire < {$time}"; return mysqli_query(self::$_link, $sql); } public function close() { mysqli_close(self::$_link); return true; } } $sessionHandler = new MySessionHandler(); session_set_save_handler($sessionHandler, true); session_start();
    转载请注明原文地址: https://ju.6miu.com/read-26010.html

    最新回复(0)