当用户处于非活动状态3小时时,会话将过期。 PHP

时间:2010-01-19 03:57:03

标签: php session

当用户处于非活动状态3小时时,如何设置会话过期。

这是重复的问题,

但其他线程对我不起作用,

我现在尝试的是,

<code>
define("APP_SESSION_TIMEOUT","10");
session_cache_expire(APP_SESSION_TIMEOUT);
session_set_cookie_params(APP_SESSION_TIMEOUT*60);
ini_set("session.gc_maxlifetime", APP_SESSION_TIMEOUT * 60);
</code>

// Not此代码在我的config.php

我找不到,上面的代码成功了......任何提示,

我在代码中犯了任何错误,


嗨,我不确定,我的代码是正确的,

但我仍有问题,

我越来越开心,

click here

我的要求是当系统处于活动状态3小时后,登录会自动进入注销状态(即会话过期,系统处于活动状态3小时)

但我的代码,不是goign到期模式,

我尝试过像

这样的事情
ini_set('session.cookie_lifetime',  10800);
ini_set('session.gc_maxlifetime',  10800);

还没有运气.....


我不确定,确切的错误在哪里,但最终,

我昨晚解决了这个问题,

这是代码click here

3 个答案:

答案 0 :(得分:1)

此代码:

session_set_cookie_params(APP_SESSION_TIMEOUT*60); 

可能不是你想要的。由于APP_SESSION_TIMEOUT也被定义为字符串,因此您将乘以“10”* 60.这也将仅为600秒(即使PHP正确地进行了计算)。

这样做:

session_set_cookie_params(3600 * 3); // 3600 seconds (one hour) * 3
session_start();

这应该设置最大值。会议时间为三小时。

答案 1 :(得分:0)

如果您有权访问php.ini文件,可以在那里进行设置。如果不这样(我怀疑是这种情况),您将需要创建一个指示会话开始的会话变量,并使用当前时间戳不断更新该变量。然后在每次访问时,将会话变量与当前时间戳进行比较,如果差异大于3小时,则调用session_destroy()。

答案 2 :(得分:0)

尝试调用

三小时后完全停用会话
ini_set('session.cookie_lifetime',  10800);

来自您的PHP代码。

相关问题