php写入sessio(php中sessio的用法)
导语: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
效果
本文内容由小樊整理编辑!