SESSION

一、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功能;

图片.png

3、删除SESSION数据

1)使用 unset() 函数,删除一个SESSION数据;
2)将空数组赋给$_SESSION$_SESSION = array()

图片.png

图片.png

4、销毁SESSION文件

1)描述:删除当前的SESSION文件,不影响其它的SESSION文件。
2)语法:bool session_destroy ( void )

图片.png

图片.png

三、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文件,正在使用的无法删除。

2、垃圾回收的周期:session.gc_maxlifetime

默认的回收周期是1440秒,即24分钟。每24分钟扫描一遍SESSION垃圾文件。

图片.png

3、垃圾回收的概率:session.gc_divisor

图片.png

图片.png

展开阅读全文

没有更多推荐了,返回首页