为什么标准会话生命周期是24分钟(1440秒)?
为什么标准会话生命周期是24分钟(1440秒)?
PHP3时代,PHP本身没有会话支持。但是,一个名为PHPLIB的开源库通过PHP3代码提供了会话支持。会话的生命周期以分钟为单位定义,默认生命周期是1440分钟,即一天。以下是PHPLIB中的代码行:
var $gc_time = 1440; ## Purge all session data older than 1440 minutes.
Sascha Schumann参与了PHPLIB项目,大约在1998年至2000年期间。毫无疑问,他对PHP3会话代码非常熟悉。
然后,在2000年,PHP4发布了原生会话支持,但是生命周期是以秒为单位指定的。
我敢打赌,有人根本没有将分钟转换为秒。可能这个人就是Sascha Schumann。一旦这个值被编码到Zend引擎中,它也成为了配置(php.ini)的默认值。
当单位发生变化时,24就有了特殊的含义。所以在给出的答案中,你的回答对我来说最有意义。
这真的很有趣!谢谢分享!
非常有趣!谢谢!
关于PHP4默认设置的一个参考:github.com/php/php-src/blob/PHP-4.0/ext/session/session.c
根据PHP文档,会话生命周期以秒为单位设置:php.net/manual/en/…