如何在 php 7.2 上执行时更改session.gc_maxlifetime?



我想更改用户登录时的会话超时,如果没有(用户只是访问(,会话应该提前结束。一切都在工作,直到我从 php 5.6 更新到 7.2,我知道这个较新的版本不再支持这种方法,但在调用 session_start(( 之前不可能测试 $_SESSION 变量,对吧?我的问题是,在 php 7.2 中调用 session_start(( 之后,我该如何做类似ini_set('session.gc_maxlifetime',900);的事情?

PS:我这样做是因为我看到一些机器人访问正在用需要很长时间的会话淹没 redis 服务器,所以我想在简单访问时更快地清理它。

首先,不幸的是,在 php 7.2 中,在 session_start(( 之后无法调用此函数,并且正如 Sammitch 所说,此函数会影响所有会话,而不仅仅是调用该函数的当前会话。

由于我的项目托管在 AWS,因此我通过在负载均衡器中实施 Web ACL 并从代码中删除了session.gc_maxlifetime的所有引用来解决机器人问题。

最新更新