<?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