PHP会话ID - SID的有效时间?

24 浏览
0 Comments

PHP会话ID - SID的有效时间?

这个问题已经有了答案::

如何在30分钟后使PHP会话过期?

理论上,如果PHP会话ID存储在一个有效期为365天的cookie中,会话ID是否会在第365天恢复正确的会话数据,还是由于会话生命周期设置而超时/被删除?

我可以/应该存储和使用会话ID多长时间?

admin 更改状态以发布 2023年5月21日
0
0 Comments

理论上,如果PHP Session ID存储在一个生命周期为365天的Cookie中,那么Session ID是否会在第365天恢复正确的会话,还是由于Session生命周期设置而超时关联的会话?

Cookie只存储标识会话的Session ID。

如果存在相应的会话文件,则会恢复会话;否则,会创建一个具有该ID的新空会话。

session.gc_maxlifetime选项名称有点不准确,实际上它是最小生存时间。如果距离上次访问会话文件已经过去了这段时间,则允许会话垃圾回收器从磁盘中清除该文件。但不能保证此操作会立即发生,因为垃圾回收器是随机调用的(每个请求发生的概率也可以配置)。

我可以/应该存储和使用Session ID多长时间?

只要你需要…?

这取决于你想要做什么,如何配置会话等。

0
0 Comments

理论上,您可以存储它需要多长时间都可以,但您将不必要地使用资源。默认为20分钟,并且可以通过设置session.gc_maxlifetime参数来在php.ini中进行调整。如果您需要更长时间地保留数据,那么将其放入数据库而不是会话会更有意义。

0