您的位置 首页 php

php实现session入库操作例子

1.session的作用?

实现跨脚本共享数据,用户登录验证

2.session机制

建立在 cookie 之上,sessionID是保存在cookie中,session本身是指将数据保存到文件,然后在其他脚本中从文件中读取数据。

通过sessionID来识别不同的文件。

1)将变量内容保存到文件中,只要开启session在脚本结束时,系统会自动处理

2)通过sessionID从文件中获取对应的内容,放到$_SESSION

3.效率

当session文件增加之后,会导致操作系统查找session文件的效率变低。可以通过session分层来实现相对高效率的查找。

项目上session的使用:将session保存到内存中( 非关系型数据库 中:效率高,而且能够过期自动清除)

session存放到关系型数据库: mysql

session执行原理:PHP提供了一套session运行的系统,系统中提供了一系列的函数或者方法来逐个实现功能。

要实现session入库,其实只要修改session系统中的读和写方法,在读的时候不再从文件中去找,而是 去指定的数据库表中查找数据,写的时候不再写入文件,而是写入到数据库表中。

session_set_save_handler():将自定义的session函数写入到session系统中(替换原有的对应的session函数的功能)

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

$open:开启函数,用来初始换连接信息

$close:关闭函数,释放连接资源

$read:读取函数,从数据库读取内容

$write:写入函数,将数据写入到数据库

$destroy:销毁函数,把数据从数据库删除

$gc:垃圾回收函数,将过期的session数据删除掉

如果希望修改后的session函数执行,需要告知session系统,session被启用。

session_start():通知session系统,脚本需要执行session

效果

文章来源:智云一二三科技

文章标题:php实现session入库操作例子

文章地址:https://www.zhihuclub.com/78595.shtml

关于作者: 智云科技

热门文章

网站地图