session

Posted 刘冉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了session相关的知识,希望对你有一定的参考价值。

session_start 开启session

概念:session把客户资料存在服务器中,给浏览器一个加密凭证,每次登录生成的凭证都不相同,浏览器用cookie保存凭证。下次访问时服务器收到凭证后,打开文件读取session信息。session_start(); // 开启session$_SESSION[‘user‘] = ‘liudehua‘;  //添加参数echo $_SESSION[‘user‘];  //读取sessionsession凭证保存的目录地址  在php.ini中有session.save_path = "D:/php"

 

 

session语法学习session_start();  //创建,修改,还是销毁session,都需要先开启session设置session$_SESSION[‘user‘]=‘zhaobenshan‘;   //$_SESSION就可以自由的添加,删除,修改,当成普通数组一样操作;cookie的操作,只能通过setcookie函数来进行。$_SESSION[‘school‘]=‘PKU‘;

 

 

销毁sessionunset($_SESSION[‘user‘]);  //可以单独销毁某一个单元,即把$_SESSION数组某一个单元unset掉$_SESSION = array();   //可以整体把箱子给清空,即$_SESSION数组给清空session_unset();  //利用函数把箱子整体清空,效果同第2种办法session_destroy();  //彻底把箱子给毁掉,即文件都没了

 

 

探讨session的生命周期!要想让session失效,要从1:客户端的cookie 2:服务器端的session文件两个方面操作在php.ini里session.cookie_lifetime = 15选项,控制sessionid的cookie的生命周期,秒为单位  注意:如果用户篡改了cookie,让cookie的生命周期为1年,那你也判断不出来.如果想严格的让session就半小时有效,可以这样: $_SESSION[‘time‘] = 登陆时的时间戳

 

 

session的有效路径!session的有效,取决于cookie,cookie在哪儿有效,session自然就能读到。PHP.int中session.cookie_path = /选项,指定了sessionid这个cookie的有效路径是 / 路径,自然session无论在多深的目录下设置,而session在整站都有效。

 

 

cookie只能存储字符串/数字这样的标量数据session还可以存储数组/对象 (除了资源型,其他7种都可以)请注意:如果你把对象存储到session里,那么另一个读取session的页面,也必须有此对象对应的类声明才合理.否则,从session里分析出一个对象,却没有与之对应的类,则会提示: __PHP_Incomplete_Class Object从http协议的角度看,cookie信息是放在头信息里传输的,自然使用cookie之前,不能有任何主体信息的输出,空白也不行

以上是关于session的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat8下建立WebSocket始终连不上

jsp可以保存两个session吗?

tensorflow源码解析之common_runtime-session

JAVA遇见HTML——JSP篇:JSP内置对象(下)

Hibernate查询语言(HQL)

Hibernate 获取Session