PHP会话ID—SID的有效期有多长?
理论上,如果PHP会话ID存储在生存期为365天的cookie中,会话ID是否会在第365天恢复正确的会话数据,或者是否会由于会话生存期设置而超时/删除相关的会话数据PHP会话ID—SID的有效期有多长?,php,session,cookies,timeout,lifetime,Php,Session,Cookies,Timeout,Lifetime,理论上,如果PHP会话ID存储在生存期为365天的cookie中,会话ID是否会在第365天恢复正确的会话数据,或者是否会由于会话生存期设置而超时/删除相关的会话数据 我可以/应该存储和使用会话ID多长时间?理论上,您可以存储它,只要您愿意,但您将不必要地耗尽资源。默认值为20分钟,可以在php.ini中通过设置session.gc\u maxlifetime参数进行调整。如果您需要将数据保存更长的时间,将其放入数据库而不是会话中是有意义的。会话id的最后一个与session.gc\u maxl
我可以/应该存储和使用会话ID多长时间?理论上,您可以存储它,只要您愿意,但您将不必要地耗尽资源。默认值为20分钟,可以在
php.ini
中通过设置session.gc\u maxlifetime
参数进行调整。如果您需要将数据保存更长的时间,将其放入数据库而不是会话中是有意义的。会话id的最后一个与session.gc\u maxlifetime
相同。检查php.ini
或phpinfo()
查看您的设置,默认设置为1440秒(24分钟)。虽然如果您关闭浏览器,并且没有通过cookie或其他方式恢复会话id,会话仍然会关闭
理论上,如果PHP会话ID存储在生存期为365天的Cookie中,会话ID是否会在第365天恢复正确的会话,或者相关会话是否会因会话生存期设置而超时
cookie只存储将标识会话的会话id
如果存在与该id对应的会话文件,则会话将继续–否则,将创建具有该id的新空会话
session.gc\u maxlifest
选项的名称有点错误,实际上它是一个最小的生命周期。如果此时间跨度在上次访问会话文件后已过,则允许会话垃圾回收器从磁盘上擦除该文件,但不能保证立即执行,因为垃圾回收器是随机调用的(也可以配置每个请求的概率)
我可以/应该存储和使用会话ID多长时间
只要你需要它
这取决于您尝试执行的操作、会话的配置方式等。在关闭浏览器之前,除非您将Cookie与会话一起使用请参见Cookie生存期(客户端)与会话生存期(服务器端)不同,否则关闭浏览器的时间不得超过此时间。