首页 > 技术文章 > Session 入库

nyxd 2016-04-06 22:14 原文

session入库

session机制中的数据分部分存储,1部分在客户端的cookie中,2部分在服务器端的session文件中。

务器端的session文件中存储的是$_SESSION变量中的数据。

session入库就是将$_SESSION中的数据存在数据库中

对session的操作

session_start();

$_SESSION['名']

session_destroy();

 

 

 

修改session机制

session_set_save_handler ( string open, string close, string read, string write, string destroy, string gc )

session_set_save_handler ( callable open, callable close, callable read, callable write, callable destroy, callable gc )

session_set_save_handler ( callback open, callback close, callback read, callback write, callback destroy, callback gc )

open:    当session开启时,被session机制自动调用一个函数(方法)

close:    当session关闭时,被session机制自动调用一个函数(方法)

read:    当对$_SESSION进行读取时,被session机制自动调用一个函数(方法)

write:    当对$_SESSION进行写入时,被session机制自动调用一个函数(方法)

说明:

    此处的write并不是向内存变量($_SESSION)中写数据,而是将内存变量($_SESSION)中的数据写到硬盘上对应的session文件中

destory:当执行session_destroy()时,被session机制自动调用一个函数(方法)

gc:当执行php的垃圾回收机制被触发时,被session机制自动调用一个函数(方法)

session数据表

create table session(

sessid char(32) primary key comment '主键字段不能重复,存储sessionid',

content text comment '存储session里的数据',

expire int unsigned

);

 

session_id();

    用于获取由session机制产生的sessionid数据

session_name();

    用于获取由session机制发给客户端的cookie文件的前缀

 

session_destroy()与GC,

session_destroy()是人为的删除当前进程对应的session文件,只能删除一个

GC是被触发删除到GC被触的时间点时,已过期的所有的session文件

session入库后,显示$_SESSION问题

封装成类后的session注册机制的更改

将注册session机制放到类内部

 

 

推荐阅读