如何让用户在一定时间后不被注销(PHP/APACHE)


How to make users not be logged out after certain time (PHP/APACHE)

我已经在php.in文件中进行了这些调整,然后停止/启动了服务器:

; 24 hour session cookie
session.cookie_lifetime = 86400
; Prevent server from cleaning up session
; Some value higher than the cookie lifetime
session.gc_maxlifetime = 200000 

但这似乎没有任何作用,我的用户仍然抱怨他们在大约30分钟后就被注销了。我也经常被注销。

为了让登录的用户不被注销,并让他们至少登录24小时或更长时间,我还可以研究或做些什么。

谢谢!

虽然您可以使用类似以下的代码来增加会话超时:(在.htaccess中,如果您在apache上)

php_value session.gc_maxlifetime 86400
php_value session.gc_probability 1
php_value session.gc_divisor 100

问题是,您的会话文件夹可能会被不活动的会话文件弄得一团糟。我们的网站使用半小时的超时时间,但我们有一个AJAX轮询器作为管理界面的一部分,它使会话每15分钟活跃一次。这样,我们只对活动用户开放会话(即使他们正在执行长期操作)

或者,您可以考虑存储一个单独的长期cookie,如果用户会话到期,可以使用该cookie快速重新建立用户会话,这再次避免了用繁琐的会话文件填充服务器的需要。