<?php
session_set_cookie_params(60 * 60 * 24 * 30 * 12, '/', '.me.com', false, true);
session_set_save_handler('open', 'close', 'read', 'write', 'del', 'gc');
//ini_set("session.gc_divisor", 2);
session_start();
$_SESSION['key'] = uniqid();
var_dump($_SESSION);
session_destroy();
echo "<hr />";
var_dump($_SESSION);
function open()
{
// echo "open 函数被调用";
}
function close()
{
// echo "close 函数被调用";
}
function read($session_id)
{
// echo "read 函数被调用";
$link = mysqli_connect("127.0.0.1:3306", "root", "root");
if($link){
$result = mysqli_query($link, "set names gbk");
if($result){
$result = mysqli_query($link, "use test");
if($result){
$result = mysqli_query($link, "select * from sessions where session_name = '$session_id'");
if($result !== false){
$names = array();
while($temp = mysqli_fetch_assoc($result))
{
$names[] = $temp;
}
return $names;
}
else{
echo mysqli_error($link);
}
}
}
else{
echo mysqli_error($link);
}
}
}
function write($session_id, $content)
{
// echo "write 函数被调用";
$link = mysqli_connect("127.0.0.1:3306", "root", "root");
if($link){
$result = mysqli_query($link, "set names gbk");
if($result){
$result = mysqli_query($link, "use test");
if($result){
$result = mysqli_query($link, "replace into sessions values('$session_id', '$content', unix_timestamp())");
if($result === false){
echo mysqli_error($link);
}
}
}
else{
echo mysqli_error($link);
}
}
}
function del($session_id)
{
// echo "del 函数被调用";
$link = mysqli_connect("127.0.0.1:3306", "root", "root");
if($link){
$result = mysqli_query($link, "set names gbk");
if($result){
$result = mysqli_query($link, "use test");
if($result){
$result = mysqli_query($link, "delete from sessions where session_name = '$session_id'");
if($result === false){
echo mysqli_error($link);
}
}
}
else{
echo mysqli_error($link);
}
}
}
function gc($max_life_time)
{
// echo "gc 函数被调用";
$link = mysqli_connect("127.0.0.1:3306", "root", "root");
if($link){
$result = mysqli_query($link, "set names gbk");
if($result){
$result = mysqli_query($link, "use test");
if($result){
$result = mysqli_query($link, "delete from sessions where unix_timestamp() - last_write > $max_life_time");
if($result === false){
echo mysqli_error($link);
}
}
}
else{
echo mysqli_error($link);
}
}
}
//CREATE TABLE `sessions` (
// `session_name` varchar(64) NOT NULL DEFAULT '' COMMENT 'session_id',
// `session_content` text,
// `last_write` int(11) NOT NULL DEFAULT '0' COMMENT '最后写入时间',
// PRIMARY KEY (`session_name`)
//) ENGINE=MyISAM DEFAULT CHARSET=gbk;
?>
session入库
最新推荐文章于 2024-09-21 16:01:39 发布