PHP会话默认超时时间

86

PHP会话默认是否有超时 - 也就是说,如果我没有进行任何编码,用户在长时间不活动后是否会被"注销"?

PHP会话默认情况下具有超时功能,这意味着如果用户长时间未活动,则会自动将其注销。可以通过更改会话超时设置来调整此行为。

1
感谢所有这些。我想要一个更直截了当的答案,因此提出了问题!- 获得点赞 - KB.
7
有趣的是,所有答案都提到了“20分钟”和“1440秒”,但没有人注意到1440秒实际上是24分钟。 - maligree
6个回答

138

这取决于服务器配置或相关指令 php.ini中的session.gc_maxlifetime

通常默认为24分钟(1440秒),但您的网络主机可能已将默认值更改为其他数值。


14
为什么默认情况下是1440秒?原因是一天有86400秒,而1440是它的六十分之一,这是一种方便的时间间隔。此外,在某些应用程序中,例如缓存,使用一天作为过期时间是很常见的。 - robsch
2
是在创建后还是在最后一次活动后的1440秒? - Accountant م
切换到10800(3小时),连接,超过2小时没有活动,然后通过点击链接进行测试...它正常工作。 - bcag2

20

你可以在你的 web 服务器上的 php 配置中更改它。 在 php.ini 中搜索

session.gc_maxlifetime() 该值以秒为单位设置。


12

是的,通常情况下会在1440秒(24分钟)后发生这种情况。


8
1440秒是20分钟。 - kojow7

6

5
您可以在php.ini中设置会话超时时间。默认值为1440秒。
session.gc_maxlifetime = 1440

; NOTE: If you are using the subdirectory option for storing session files
;       (see session.save_path above), then garbage collection does *not*
;       happen automatically.  You will need to do your own garbage
;       collection through a shell script, cron entry, or some other method.
;       For example, the following script would is the equivalent of
;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
;          find /path/to/sessions -cmin +24 -type f | xargs rm

5
通常情况下,在PHP中,会话会在20分钟后结束。

1
您的意思是20分钟没有活动吗?还是即使用户活跃并向站点发出某些请求,会话也会过期? - rammanoj
2
@rammanoj 20分钟的不活动。 - Jeroen
1440秒是默认值,实际上相当于24分钟。 - Martin James

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接