我一直在做一些关于PHP会话处理的研究,遇到了1440秒的session.gc_maxlifetime
值.
我一直在想为什么标准值是1440,它是如何计算的?
这项计算的基础是什么?
坚持多久才有意义?会话的最小/最大值.你会推荐gc_maxlifetime吗?
我一直在做一些关于PHP会话处理的研究,遇到了1440秒的session.gc_maxlifetime
值.
我一直在想为什么标准值是1440,它是如何计算的?
这项计算的基础是什么?
坚持多久才有意义?会话的最小/最大值.你会推荐gc_maxlifetime吗?
真正的答案可能非常接近这一点:
早在PHP3时期,PHP本身就没有会话支持.
但一个名为PHPLIB的开源库最初由NetUSE AG的Boris Erdmann和Kristian Koehntopp编写,通过PHP3代码提供会话.
会话生存期以minutes为单位定义,而不是以秒为单位.默认生存期为1440分钟,或正好一天.以下是PHPLIB代码行:
var $gc_time = 1440; ## Purge all session data older than 1440 minutes.
Sascha Schumann在1998年至2000年期间参与了PHPLIB项目.毫无疑问,他熟悉PHP3会话代码.
然后PHP4在2000年推出,提供了本机会话支持,但现在以秒为单位指定了生存期.
我敢打赌,有人从来没有费心把分钟转换成秒.很可能那个人就是萨沙·舒曼.一旦该值被编码到Zend引擎中,它也成为配置(php.ini
)的默认值.