php 关于session过期的问题

2025-06-28 14:16:42
推荐回答(2个)
回答1:

不会的,session不会永远不过期的。
无论你怎样创建session,session都不会永远不过期。
服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效。一般情况下Session的默认失效时间为20分钟。

回答2:

session_unregister 是个过期函数,

5.3 里使用会给个 不推荐的提升,

5.4 里直接就是删除了.

你这是看的多老的资料呀....

 

先简单说下 session ,

访客访问网站, php 里 使用 session_start() 开启会话.

其实就是在服务器的临时目录里写个sess文件,

文件的内容就是序列化之后的 $_SESSION 这个全局数组.

例如 $_SESSION['nick'] = 'foo';

然后 通过http header 把sessionid 写到 cookie 里

这个 session id 也就是对应了那个sess文件

用户下面的请求就会带上 cookie 中的 session id

 

服务端通过 session id 找到对应的 sess 文件. 然后读取文件内容.

就知道了是那个用户访问的了.

 

session 过不过期. 和以下几个因素有关.

  1. cookie 中 session id 的有效期

  2. php.ini 中 session.gc_maxlifetime 的配置

 

只要保证 1 . session id 不过期, 2 . 服务端 sess 文件 没有被删除

这样就能永不过期了.