登录PHP会话在chrome关闭时被清除,在Firefox中保持不变

登录PHP会话在chrome关闭时被清除,在Firefox中保持不变,php,google-chrome,session,Php,Google Chrome,Session,我的登录脚本: if (login_user($user_login, $password)){//Login check is verified ini_set('session.cookie_lifetime', 60 * 60 * 24 * 365); ini_set('session.gc_maxlifetime', 60 * 60 * 24 * 365); session_start();

我的登录脚本:

if (login_user($user_login, $password)){//Login check is verified
            ini_set('session.cookie_lifetime', 60 * 60 * 24 * 365);
            ini_set('session.gc_maxlifetime', 60 * 60 * 24 * 365);

            session_start();
            $user = get_user($user_login);
            $_SESSION['username'] = $user['username'];
当我登录进行测试时,Firefox和Chrome上不同页面之间的会话都处于活动状态。没问题

不过,当我重新启动浏览器时,登录会话在Chrome中丢失,而我仍然在Firefox中登录

我曾尝试用谷歌搜索这个问题,但指出的主要问题是我的根文件夹中缺少一个favicon

编辑

  • 我不知道这是否有帮助,但我在Chrome中找到了一个叫 PHPSESSID(与我的网站相关),它基本上说“当 浏览器关闭”

  • 同样的饼干,PHPSESSID,将于2019年5月3日星期五凌晨2:12:28过期


在这种情况下,您应该使用会话cookie来准确检查浏览器会话何时启动 开放-这是功能背后的理念。

您正在寻找的是一种叫做持久登录Cookie的东西,它类似于 主要用于登录表单的“记住我”功能。基本上是你 在用户浏览器上设置加密的登录cookie,然后可以使用它对用户进行自动身份验证


这个关于堆栈溢出的答案可能会有所帮助:

但我确实设置了session.cookie\u生命周期,可能存在重复。我不明白为什么它在Firefox中是持久的,而在Chrome中不是?我不认为这是因为Firefox一直在后台运行,因为我已经重新启动了电脑好几次,它仍然在登录。谢谢你给我指点这个做法,我会实现它的!没问题@E.Abbott如果您能将此设置为其他迷失灵魂的解决方案,我将不胜感激。完成,希望它能帮助其他像我这样的新手!