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

How can I change session.gc_maxlifetime at execution time on php 7.2?

如果用户已登录,我想更改会话超时,如果没有(用户仅在访问),会话应该提前结束。在我从 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 的所有引用来解决了机器人程序的问题。