php中session是什么端,php中session的理解

1.session的概念

session是存储在服务器端的一些用户信息,存储方式默认为存储在文件中(session.save_handler = files),存储路径为(session.save_path = "/letv/sessions")

2.session的起始和结束

在php中session的起始创建为执行session_start();时,这段代码有这么几个功能:1)创建了$_SESSION变量(如果没有这段代码的话var_dump($_SESSION);时会显示NULL)2)     在指定的session.save_path目录中创建了一个sess_xxx(sessionid)的文件(如果之前没有这个文件)3)在客户端浏览器中创建了一个cookie,如图所示,这里的value即为sessionid

0818b9ca8b590ca3270a3433284dd417.png

然后我们可以使用$_SESSION变量进行一些操作了,比如赋值($Name = "this is test session";$_SESSION['Name'] = $Name;)、运算等等,在脚本执行结束后,服务器会将        $_SESSION中的变量序列化后存放到对应的文件中去,如图所示

0818b9ca8b590ca3270a3433284dd417.png

好,如果此时浏览器并没有关闭(因为关闭浏览器后,session即结束了生命周期),你可以打开一个新的脚本(例:add?xxx),在新的脚本中可以获取$_SESSION(记得首先一定要执行session_start();)为什么能获取到服务器中的值呢?它的执行过程应该是这样的:

在执行新的脚本的时候,请求中会带有浏览器中种的session的cookie值,如图

0818b9ca8b590ca3270a3433284dd417.png

在进行session_start();的时候会获取到传过来的sessionid,然后验证一下session的保存路径中有无sess_sessionid文件,如果有的话就将该文件中的内容拿出来,整理后存入$_SESSION变量中,如果没有的话就创建这个文件,同时将$_SESSION = array();

以上是个人对php中session的理解,欢迎拍砖~!~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值