如何在PHP中创建持久会话?

如何在PHP中创建持久会话?,第1张

如何在PHP中创建持久会话

请参阅

php.ini
值session.cookie_lifetime。

默认值

0
意味着在浏览器关闭时结束会话。

您可以

php.ini
使用ini_set在开始会话之前直接在应用程序中覆盖此值或在应用程序中设置它。将其设置为大于此值
0
将导致会话在该持续时间内存活。

例如

ini_set('session.cookie_lifetime', 60 * 60 * 24 * 7);  // 7 day cookie lifetimesession_start();

上面的示例使会话cookie的设置从会话开始起的7天到期。

注意:
如果您从同一段代码开始所有网页的会话,则每次

session_start()
调用该会话都不会继续延长会话的有效期。cookie生存期是从第一次启动会话时开始设置的,而不是在后续请求时开始设置。如果要将会话的生存期从当前时间延长7天,请参见session_regenerate_id()。

另请注意:
如果您将session.gc_maxlifetime值设置为小于会话cookie长度的值,则可能会出现以下情况:用户5天未访问该站点,并且当他们返回时,会话cookie不再有效因为服务器上的数据已被删除。为了解决这个问题,您还应该将此会话数据的生存期设置为至少与cookie生存期一样长。如手册所述,可能需要对自定义

session.save_path
会话数据使用自定义项的时间长于默认值。因此,您的脚本可能如下所示:

ini_set('session.cookie_lifetime', 60 * 60 * 24 * 7);ini_set('session.gc_maxlifetime', 60 * 60 * 24 * 7);ini_set('session.save_path', '/home/yoursite/sessions');session_start();


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4921433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存