一、SESSION概述
1、什么是SESSION?
1)Session对象存储特定用户的会话数据;
2)Session将会话数据存储在服务器端;
3)Session是基于Cookie技术的,没有Cookie就没有Session;
4)Session在整个用户会话中,一直存在下去;
5)一个用户会话时效:从用户登录开始,到用户登录结束;
6)Session存储的数据量要比cookie大的多;
7)Session存储的内容类型,不限于字符串;
8)Session数据存储在服务器端,更安全,可靠。
2、SESSION的工作原理 图片.png
3、开启SESSION会话功能
1)描述:启动新会话或者重用现有会话 ;
2)语法:bool session_start (void )
3)提示:$_SESSION
变量默认是不存在的,与$_POST
、$_GET
、$_FILES
不一样。因此,必须先开启SESSION,才能使用$_SESSION
变量;
4)提示:每个需要SESSION数据的页面,都要开启SESSION功能;
5)注意:SESSION功能,不能重复开启(同一个页面不能开2次);
6)返回:成功开始会话返回 TRUE ,反之返回 FALSE;
二、SESSION操作
1、添加SESSION数据
1)描述:对Session的管理(增删改查),都是通过超全局数组$_SESSION进行的;
2)语法:$_SESSION[key] = value
3)提示:一个网站不管添加多少个SESSION数据,最终在浏览器端只存储一个SESSION的ID值,该ID值是经过加密的,并且永不重复。Key只能是String类型的数据。
4)SESSION文件在服务器端的存储位置:c:\windows\temp
2、读取SESSION数据
1)语法:$value = $_SESSION[key]
2)提示:每次SESSION操作,都要先开SESSION功能;
3、删除SESSION数据
1)使用 unset() 函数,删除一个SESSION数据;
2)将空数组赋给$_SESSION
:$_SESSION = array()
4、销毁SESSION文件
1)描述:删除当前的SESSION文件,不影响其它的SESSION文件。
2)语法:bool session_destroy ( void )
三、SESSION的配置(php.ini)
1、修改SESSION的保存位置:session.save_path
SESSION文件默认存储位置:c:/windows/temp
图片.png
2、修改SESSION对应的COOKIE名称:session.name 图片.png
3、修改SESSION对应的COOKIE配置
1)SESSION对应COOKIE过期时间设置:session.cookie_lifetime 图片.png 2)SESSION对应COOKIE有效路径设置:session.cookie_path 图片.png 3)SESSION对应COOKIE域名有效性设置:session.cookie_domain 图片.png 4)是否仅限https来发送SESSION对应的COOKIE数据:session.cookie_secure 图片.png 5)是否仅限http来使用SESSION对应的COOKIE数据:session.cookie_httponly 图片.png可以利用php函数统一设置: 图片.png 图片.png
四、SESSION垃圾回收机制
1、什么是SESSION的垃圾回收机制?
1)SESSION垃圾回收, 就是将过期的SESSION服务器数据删除的机制;
2)SESSION会自动删除那些过期的服务器端session数据区文件;
3)删除不再使用的SESSION文件,正在使用的无法删除。
网友评论