session_start();$_SESSION['age']=189;如果是session_unset();session_destroy();var_dump($_SESSION);这样结果为空
而如果是这样:session_destroy();session_unset();本页面的session变量依然健在
求解,谢谢诸位
业精于勤,荒于嬉;行成于思,毁于随。
这个问题真的很有意思
session_destroy 是注销所有的session变量,并且结束session会话目前是删除当前用户对应的session文件以及释放session id值 ,但是但是 内存中的$_SESSION变量内容依然保留
session_unset() 并不注销session变量,但把所有的session变量的值清空.所以var_dump($_SESSION);时间看到的是空的哈。(因为你第一次清空了session然后有注销了所有的变量。)
session_unset()删除当前所有的session值,作用等于和 session_destroy()是一摸一样的哈;
但是 但是 释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应session id 和值 !
一般正常情况下释放session的顺序是你的第一个方法
<? $_SESSION['age'] =189; session_unset(); session_destroy();
第一个方法原理是 : 先清空了变量的值释放内存中的变量session 被注销了
第二个方法是
先注销了 再删除但是内存中变量和值是存在的
这个问题真的很有意思
session_destroy 是注销所有的session变量,并且结束session会话目前是删除当前用户对应的session文件以及释放session id值 ,
但是但是 内存中的$_SESSION变量内容依然保留
session_unset() 并不注销session变量,但把所有的session变量的值清空.所以var_dump($_SESSION);时间看到的是空的哈。(因为你第一次清空了session然后有注销了所有的变量。)
session_unset()删除当前所有的session值,作用等于和 session_destroy()是一摸一样的哈;
但是 但是 释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应session id 和值 !
一般正常情况下释放session的顺序是你的第一个方法
第一个方法原理是 :
先清空了变量的值
释放内存中的变量
session 被注销了
第二个方法是
先注销了
再删除
但是内存中变量和值是存在的