php实现session自定义会话处理器的方法 |
本文实例讲述了php实现session自定义会话处理器的方法 。分享给大家供大家参考 。具体分析如下: session自定义会话处理器,即就是说,所有关于session的各种操作,都可以通过自定义会话来自己决定 。什么意思呢?先来看php.ini里的session.save_handler配置 。 默认情况下,session.save_handler = files,表示调用的是系统定义好的处理器(所谓处理器,其实就是一大堆函数/方法) 。您可从将session.save_handler设置成 user 或者 memcache,甚至是网络文件系统(云计算) 。 session.save_handler = user:表示调用自定义的会话处理器; session.save_handler = memcache:表示...略....(大致是保存在内存里,效率更高) 。 当设置 session.save_handler = files 时,关于session的操作,实际上调用了session.set_save_handler(具体查看php手册)的六个回调函数(所谓回调函数,就是系统调用的,不需要指定调用) 。六个回调函数见下面代码,php手册里也有: 复制代码 代码如下: <?php
function open($save_path, $session_name) function close() function read($id) function write($id, $sess_data) function destroy($id) function gc($maxlifetime) session_set_save_handler("open", "close", "read", "write", "destroy", "gc"); 当你把 session.save_handler设置为user时,你可以把上面这段代码重写,改成你所需要的方法,在执行php文件里调用即可 。比如,默认情况下,我们保存 session 的文件名,都是以 sess_ 开头的,其实就是在这里设置的,你可以改成你想要的 。 当然,你也可以修改 session 保存的方式,默认是保存在文件里,您可以保存到数据库里(当然不建议你这么做,数据库读取速度更慢),也可以设置保存在内存里(速度最快,在memcache相关内容中有详细讲解) 。 希望本文所述对大家的php程序设计有所帮助 。 |