如何让用户使用PHP会话登录一年



我目前正在使用以下代码:

ini_set('session.gc_maxlifetime', 31968000);
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 1);
ini_set('session.cookie_lifetime', 31968000);
if(isset($_COOKIE[session_name()])) {
setcookie(session_name(), $_COOKIE[session_name()], time() + 31968000, "/", ".********.net");
}

我正在使用该代码作为";登陆页";在某人登录或成功注册后(注册后,您将自动登录并转移到"登录页"(

出于某种原因,这会持续几分钟。我可以关闭Safari应用程序,再打开几秒钟,也许半小时后它就停止工作了。起初我以为它会起作用。

有什么想法吗?

顺便说一句,31968000是以秒为单位的一年多的时间。

我不得不更改php.ini文件中的属性session.gc_maxlifetime、session.gc_probability、session.gc_visor和session.cokie_lifetime,以使其正常工作。

此外,重新启动Apache服务器和php-fpm以加载编辑后的php.ini文件也很重要。

service apache2 restart

service php7.3-fpm restart

最新更新