当用户处于非活动状态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
中我找不到,上面的代码成功了......任何提示,
我在代码中犯了任何错误,
嗨,我不确定,我的代码是正确的,
但我仍有问题,
我越来越开心,
我的要求是当系统处于活动状态3小时后,登录会自动进入注销状态(即会话过期,系统处于活动状态3小时)
但我的代码,不是goign到期模式,
我尝试过像
这样的事情ini_set('session.cookie_lifetime', 10800);
ini_set('session.gc_maxlifetime', 10800);
还没有运气.....
我不确定,确切的错误在哪里,但最终,
我昨晚解决了这个问题,这是代码click here
答案 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代码。