1

我想要的是能够将会话变量保存 12 小时,这样用户就不需要重新登录。

我正在使用这样的东西:

if(ini_get('session.gc_maxlifetime') !== 3600*12) {
    ini_set('session.gc_maxlifetime', 3600*12);
}
if(ini_get('session.cookie_lifetime') !== 3600*12) {
    ini_set('session.cookie_lifetime', 3600*12);
}

session_start();    

我已经回应了 vars 并且它们都设置正确。但是只要浏览器关闭会话就会被破坏并且用户必须登录。

我最近读过(但现在找不到资源),由于垃圾收集,应该为长时间运行的会话 cookie 更改位置文件夹。

我在哪里/如何配置它?

谢谢!

4

1 回答 1

1

这段代码看起来不错。您应该首先在客户端检查 PHPSESSID cookie,以确保它确实设置为在 +12 小时后过期。由于您说“只要浏览器关闭会话就会被破坏并且用户必须登录”,因此 cookie 不会设置为在 +12 小时内过期。设置 session.* 变量后是否开始会话?

于 2012-07-30T07:42:48.027 回答