问题 :
1. 如何确定分配sessionID
在session_start的时候。
两种情况,一是浏览器带了sessionID 请求,带了直接使用,没有带,则生成一个sessionID,并生成一个$_SESSION数组
2.如何形成session存储空间
使用sessionID定位服务器上的数据空间
3.如何保存数据到存储空间
将空间内的数据读取出来,反序列化后放入到$_SESSION数据内。
4.如何读取数据
在脚本结束后,将$_SESSION数据序列化写到数据空间内。
5.如何管理数据
即操作$_SESSION数组
session重写机制:当session运行到一定的周期会自动调用以下的方法
并注意每个方法的该有的不同的参数。。。。
function open() {
echo 'close';
}
function close() {
echo 'close';
}
function read() {
echo 'read';
}
function write() {
echo 'write';
}
function destroy() {
echo 'destroy'; //当用户调用session_destory()后执行
}
function gc() {
echo 'gc'; //当脚本执行完之后
}
session_set_save_handler('open','close','read','write','destroy','gc');
session_start();//先设置再开启
本文详细介绍了PHP session的工作机制,包括sessionID的分配、session存储空间的形成、数据的保存与读取、数据管理及session重写机制。通过实例展示了如何在脚本中实现session的生命周期管理。
965

被折叠的 条评论
为什么被折叠?



