PHP session 会话
程序员文章站
2024-03-20 13:55:28
...
- session_start() 启动新会话或重用现任会话
bool session_start([ array $options = [] ])
//> 在调用session_start()函数之前如果想改变php.ini中session.name会话名称介意使用session_name()函数
//> 会话开始或手动调用session_start()时,会调用管理的open和read回调函数
//> php.ini中的session.use_trans_sid
//> session.use_trans_sid = 0 # 不允许在url凭借session.name名称传递会话名称
//> session.use_trans_sid = 1 # 当浏览器禁止cookie时,允许凭借session.name会话名称在url后
//> 当use_trans_sid设置为1时,会自动在url后面拼接session.name名称
//> 当session_start()函数调用时,会自动调用open()和read()函数
//> 如果想使用自定义的会话管理器,需要先设置session_set_save_handler()函数
- session_set_save_handler() 函数注册自定义的会话管理器
//> 在php5.4后面使用和php5.4前使用的参看手册
bool session_set_save_handler( SessionHandlerInterface $sessionhandler [, bool $register_shutdown = true] )
//> SessionHandlerInterface 会话管理接口
//> $register_shutdown 将函数 session_write_close()注册为 register_shutdown_function()函数
//> register_shutdown_function() 函数允许注册一个函数在脚本结束或脚本跑死时执行
//> session_write_close() 函数保存session数据释放session程序锁
//> session_write_close() 名称别名 session_commit()
- SessionHandlerInterface 会话管理接口
//> 要求继承者需要实现的几个方法
//> open() 是session_start() 函数后第一个被调用的函数 成功返回true,失败返回false
open(string $savePath, string $sessionName)
//> read() 函数在 open() 函数后被调用
//> 如果会话中有数据,read 回调函数必须返回将会话数据编码(序列化)后的字符串。 如果会话中没有数据,read 回调函数返回空字符串
read(string $sessionId)
//> 待补充 ....
//> gc 垃圾处理调用机制 php.ini 配置参数(php自动调用过程)
//> gc_probability / gc_divisor 表示触发gc垃圾回收概率
session.gc_probability = 1
session.gc_divisor = 1000
//> gc_maxlifetime 垃圾回收处理最大回收时间秒
session.gc_maxlifetime = 1440
推荐阅读
-
JavaWeb - jsp,el表达式,会话管理,cookie,session技术,session的创建和销毁/清空购物车
-
PHP session 会话
-
Hibernate的学习之路十六(绑定本地session)
-
PHP学习(七) $_SESSION
-
PHP7 学习笔记(十六)Yaconf 一个高性能的配置管理扩展
-
Session和Cookie的概念及在Express框架中的使用
-
《Cookie案例3》——————使用Cookie记录登录的用户名,并用Session获取到用户名
-
PHP会话(Session)使用入门(来自深空老大)
-
【JSP开发】session模拟购物车小例子
-
PHP7 学习笔记(十六)daemon 守护进程