标签:
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
然后我们可以使用$_SESSION变量进行一些操作了,比如赋值($Name = "this is test session";$_SESSION[‘Name‘] = $Name;)、运算等等,在脚本执行结束后,服务器会将 $_SESSION中的变量序列化后存放到对应的文件中去,如图所示
好,如果此时浏览器并没有关闭(因为关闭浏览器后,session即结束了生命周期),你可以打开一个新的脚本(例:add?xxx),在新的脚本中可以获取$_SESSION(记得首先一定要执行session_start();)为什么能获取到服务器中的值呢?它的执行过程应该是这样的:
在执行新的脚本的时候,请求中会带有浏览器中种的session的cookie值,如图
在进行session_start();的时候会获取到传过来的sessionid,然后验证一下session的保存路径中有无sess_sessionid文件,如果有的话就将该文件中的内容拿出来,整理后存入$_SESSION变量中,如果没有的话就创建这个文件,同时将$_SESSION = array();
以上是个人对php中session的理解,欢迎拍砖~!~
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/lppklm/article/details/46799663