我已将此代码添加到我的页面顶部,并在用户登录时执行。
<?php
$lifetime=86400;session_start();setcookie(session_name(),session_id(),time()+$lifetime,"/","","TRUE","TRUE");
?>
我的目的是将会话生命周期延长至自上次访问以来的 +1 天。但由于某种原因,这不起作用,会话在无限期的 x 时间后过期,即使我的浏览器在我检查控制台时指示会话将过期 +1 天。我在 apache 和 ubuntu 环境中运行我的 Web 应用程序。通过在我的 info.php 文件中进行一些搜索,我发现这是我的本地值
session.cookie_lifetime 0
session.gc_divisor 1000
session.gc_maxlifetime 86400
session.gc_probability 1
据我所知,我认为 ubuntu 正在使用 cron 作业在 /var/lib/php/sessions 文件夹中进行垃圾收集,因为我使用 Windows 作为开发环境,但我没有看到任何此类情况发生。
我的问题是。我做错了什么吗?或者我说 ubuntu 正在收集垃圾,所以建议更改 session.save_path,如果是的话,最好的方法是什么,尤其是允许权限