请问PHP中SESSION的有效时间是多长

chjin 2010-01-01 10:35:08
我用的是wampserver搭建的本地服务器,做了一个后台,但发现登录之后,SESSION一直是有效的,不会超时,想请问一下,在没有操作的情况下,PHP中SESSION能保持多少时间?另外在PHP中如何设置SESSION的超时时间?
...全文
424 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanchao1988 2010-07-09
  • 打赏
  • 举报
回复
学习了 谢谢
jusin2010 2010-01-02
  • 打赏
  • 举报
回复
学习!
jinguoxing 2010-01-02
  • 打赏
  • 举报
回复
PHP5下PHP.INI中SESSION配置

http://www.5iphp.com/zh-hans/content/374.html
lookliao 2010-01-02
  • 打赏
  • 举报
回复
自己可以设置时间
iwantnet 2010-01-02
  • 打赏
  • 举报
回复

要实现Session的永久生命期,首先需要了解一下php.ini关于Session的相关设置(打开php.ini文件,在“[Session]”部分):

引用内容
  1、session.use_cookies:默认的值是“1”,代表SessionID使用Cookie来传递,反之就是使用Query_String来传递;
  2、session.name:这个就是SessionID储存的变量名称,可能是Cookie,也可能是Query_String来传递,默认值是“PHPSESSID”;
  3、session.cookie_lifetime:这个代表SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废……就是因为这个所以Session不能永久使用!
  4、session.gc_maxlifetime:这个是Session数据在服务器端储存的时间,如果超过这个时间,那么Session数据就自动删除!
永久Session的原理和步骤。

  1、把“session.use_cookies”设置为1,打开Cookie储存SessionID,不过默认就是1,一般不用修改;
  2、把“session.cookie_lifetime”改为正无穷(当然没有正无穷的参数,不过999999999和正无穷也没有什么区别);
  3、把“session.gc_maxlifetime”设置为和“session.cookie_lifetime”一样的时间;

session.cookie_lifetime 设定为一个值 (例如 1000 秒)后,相应的 session.gc_maxlifetime 也需要设置为 1000 ,才能方便清除?
因为测试过几次,将 session.cookie_lifetime 设置为较小的数值(例如 100秒)的时候,即使将“清除几率”变为 100% , 也不能在这个较小数值的时间内将 session 清除。因此怀疑是 session.gc_maxlifetime 设置了较大的一个值,使得系统需要更多的时间将 session 认定为 garbage, 即使这个 session 实质上已经过了它的 lifetime。 
几经测试,在统一了 session.cookie_lifetime 和 session.gc_maxlifetime 后, session 的定期清除效果比较好

该昵称很风骚 2010-01-01
  • 打赏
  • 举报
回复
默认24分钟

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧