【发布时间】:2020-09-06 00:30:40
【问题描述】:
如果用户登录,我想更改会话超时,如果没有(用户只是访问),会话应该提前结束。一切正常,直到我从 php 5.6 更新到 7.2,我知道这个较新的版本不再支持这种方法,但是在调用 session_start() 之前不可能测试 $_SESSION 变量,对吗?我的问题是在 php 7.2 中调用 session_start() 之后,我该如何做类似ini_set('session.gc_maxlifetime',900); 的事情?
PS:我这样做是因为我看到一些漫游器访问使 redis 服务器充斥着持续时间较长的会话,因此我希望在简单访问时更快地清理它。
【问题讨论】:
-
会话 GC 影响所有会话,而不仅仅是当前会话。我的建议是检测机器人而不是首先为它们打开会话。