session的生命期问题。

jxbicestare 2003-10-18 09:33:38
PHP Version 4.1.2
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.gc_maxlifetime 60 60
session.gc_probability 100 100

这是我服务器(RH7.2)上php中session的设置。
登录时注册session:
session_start();
$_SESSION['membername']=$membername;

另一页面显示:
session_start();
$membername=$_SESSION['membername'];
if(!isset($membername)){
$membername='游客';
}
echo $membername;
只要服务器/tmp目录下的session文件存在,在显示页面都能显示出登录者的名字,
如果把session文件删除,就显示:游客。
我感觉这好象有点不正常:(
请帮帮我,是我的程序有问题还是设置有问题?
如果都没问题,那我要怎么做才能让session过一定时间过期呢?
...全文
66 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxbicestare 2003-10-18
  • 打赏
  • 举报
回复
session.gc_maxlifetime = integer

session.gc_maxlifetime specifies the number of seconds after which data will be seen as 'garbage' and cleaned up.

请问系统是怎么自动清楚这些过时的'garbage'。我系统设成:session.gc_maxlifetime = 60;
可/tmp目录下的session文件一起存在啊……并没有删除。请问是怎么回室?

jxbicestare 2003-10-18
  • 打赏
  • 举报
回复
还有,我改session.cookie_lifetime = 10 (是10秒吧?)还是一样:(
jxbicestare 2003-10-18
  • 打赏
  • 举报
回复
你可能理解错我的意思了。
我的意思可以这样说:

登录时注册session:
<? //1.php
$membername='jxbicestare';
session_start();
$_SESSION['membername']=$membername;
?>

另一页面显示:
<? //2.php
session_start();
$membername=$_SESSION['membername'];
if(!isset($membername)){
$membername='游客';
}
echo $membername;
?>

我在一浏览器窗口运行1.php, 然后关闭,然后再新开一个浏览器窗口,运行2.php
但还是显示:jxbicestare
session.cookie_lifetime = 0 不是说在关闭浏览器就失效了吗?
而且只要在同一机器上运行2.php就会一直显示:jxbicestare
feel8 2003-10-18
  • 打赏
  • 举报
回复
session.cookie_lifetime = 0
是关闭浏览器失效。把零改成你需要的时间。

session不会一直存在,定期清除吧

注册一个session变量就有一个session文件好像是。
jxbicestare 2003-10-18
  • 打赏
  • 举报
回复
session.cookie_lifetime = 0

的意思不是在关闭浏览器时,cookie失效吗?

再问一下,session文件在硬盘上会一直存在吗?(如果不用其他方法删除)
是不是一台电脑只会生成一个session文件?(我是用不同窗口访问用一页面)

feel8 2003-10-18
  • 打赏
  • 举报
回复
把session文件删了,当然显示游客。

session.cookie_lifetime = 0
把零改成你想要的过期时间。

21,886

社区成员

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

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