+ -
当前位置:首页 → 问答吧 → php session保存时间没有效果?

php session保存时间没有效果?

时间:2011-09-22

来源:互联网

我本地服务器session的默认时间是1440,没有改过,可是在程序里用的时候,登陆之后隔1~2分钟就跳出来了,不知道哪里出了问题,请大家帮忙一下!

能请大家给一个有关session的函数或是类吗?谢谢!

作者: dreamgoods   发布时间: 2011-09-22

test.php

session_start();
$_SESSION['TEST'] = TRUE;
echo $_SESSION['TEST'];

保存,访问文件;

打开文件,注释掉 $_SESSION['TEST'] = TRUE;
然后保存访问,看看多长时间超时。如果这个正常,就是你程序里的问题了。

PHP session 借助 cookie保存session_id,检查cookie,看看是不是cookie有变化;
看看 session_id是否有变化;

作者: neosion   发布时间: 2011-09-22

我本地服务器session的默认时间是1440
是代码中设置的默认时间么?还是php.ini设置的sesion的max存活时间?

参考下这篇文章。
http://apps.hi.baidu.com/share/detail/19167738

作者: ohmygirl   发布时间: 2011-09-22

php.ini的session.cookie_lifetime有设置值?

作者: foolbirdflyfirst   发布时间: 2011-09-22

二楼:【程序里也设置了,php.ini里的最大时间也是1400,和程序里的是一样的】
三楼:【有设置!】

作者: dreamgoods   发布时间: 2011-09-22

回复[1]楼:不行,也是一会就失效了!!!

作者: dreamgoods   发布时间: 2011-09-22

session.cookie_lifetime设置值是多少?
如果不是0的话,会对client端session有影响

作者: ohmygirl   发布时间: 2011-09-22

引用 4 楼 dreamgoods 的回复:

二楼:【程序里也设置了,php.ini里的最大时间也是1400,和程序里的是一样的】
三楼:【有设置!】

0表示关闭浏览器存session_id的cookie才失效,大于0的值表示存session_id的cookie多久后失效,以秒为单位,比如设置成了120,那就表示如果2分钟内没有刷新页面,该session_id的cookie就失效,你再请求过去浏览器可不会把失效的cookie附加到http头上,那服务器就没法找到对应的session数据。

作者: foolbirdflyfirst   发布时间: 2011-09-22

session.cookie_lifetime 设置的是0

作者: dreamgoods   发布时间: 2011-09-22


不会是代码里面又另有设置吧,比如调用ini_set

作者: foolbirdflyfirst   发布时间: 2011-09-22

function start_session($expire = 0){
if ($expire == 0) {
$expire = ini_get('session.gc_maxlifetime');
} else {
ini_set('session.gc_maxlifetime', $expire);
}

if (empty($_COOKIE['PHPSESSID'])) {
session_set_cookie_params($expire);
session_start();
} else {
session_start();
setcookie('PHPSESSID', session_id(), time() + $expire);
}
}
这是我最后加上去的,也不行,先前什么都没有设置!!
全部都是默认的

session_start();
$_SESSION['admin'] == $admin 等,

在另一个页面只有这个判断

if(!isset($_SESSION['admin']) || $_SESSION['admin'] == ""){
  echo "身份未验证,不能登陆!";
  exit;
}

就像这样的!!没有其它的了!!!

作者: dreamgoods   发布时间: 2011-09-22

你是指SESSION的有效期,还是指将某个时间作为SESSION保存?

作者: zilingzhi   发布时间: 2011-09-22

你的session 有改写过吗..

写过数据库吗.

要是有. 请看你改写的代码. 

曾今我也出现过这种问题.......

作者: y75674952   发布时间: 2011-09-22

引用 12 楼 y75674952 的回复:

你的session 有改写过吗..

写过数据库吗.

要是有. 请看你改写的代码.

曾今我也出现过这种问题.......


没有写入数据库,直接放入session中保存的

作者: dreamgoods   发布时间: 2011-09-22

引用 11 楼 zilingzhi 的回复:

你是指SESSION的有效期,还是指将某个时间作为SESSION保存?


我是用session保存值啊,session的有效时间一到,值丢失,又要重新登陆,这个不矛盾哈!!!

在此先谢谢大家的帮助,问题还是存在!!!

作者: dreamgoods   发布时间: 2011-09-22

相关阅读 更多