session原理图
结合原理图理解:
第一点:session是存储在服务器中,它为每个用户创建一个session
第二点:服务器是靠sessionId辩别用户。
sessionId是在服务器创建的,并返回给浏览器 存储在cookie。
当浏览器用户再次访问站点,浏览器会把sessionid发送给服务器,服务器通过浏览器发送的sessionid查找对应的session
session基本操作
session的生命周期
第一点 :当浏览器关闭会话结束,cookie的sessionid就会丢失,那么浏览器就不会自动发sessionid.那么服务器找不回对应的session。
第二点:这时服务器的session文件成了垃圾文件,session文件依旧在服务器端,只是没人用它。
第三点:sesseion的垃圾回收机制 就会在session_start()调用时,有一定几率回收垃圾文件 ,概率是session.gc_probability /session.gc_divisor。
session.gc_maxlifetime 是当超过多少时间没有访问session 该session同样视为垃圾
可以通过php.ini 配置 修改这三个配置信息session.gc_maxlifetime ,session.gc_probability ,session.gc_divisor
Session的保存方式,默认为文件保存(可以是数据库,或内存)通过修改 session.save_handler
session.save_handler = files;
Session在服务器端的保存路径 在项目中个人认为放在web站点的同级 但不要放在web站点里面
session.save_path = "D:/server/temp"
session入库 或 memcache存sesion 通过修改 php.ini配置文件的session.save_handler 和 session.save_path 将在本博客其他文章讲解这两点