【问题标题】:How to make cakephp session infinite如何使 cakephp 会话无限
【发布时间】:2012-11-13 18:28:04
【问题描述】:

我只是想询问如何使cakephp中的会话持续存在并且只有在我单击注销时才被销毁。

目前,当我关闭浏览器或离开计算机时,当我回来大约 1 小时时,它会提示我进入登录页面,这意味着会话已被删除。

Facebook 在某种程度上做到了这一点 - 除非您注销,否则您的会话会被存储,因此即使您关闭浏览器或离开计算机,您也将始终处于登录状态。

【问题讨论】:

  • 会话的长度通常由 php.ini 中的设置决定,我相信。我相信将它们设置为零将意味着会话持续到浏览器关闭,但比我认为不可能的时间长。
  • Hmmm.. 当我检查 phpinfo() 时,我似乎找不到该设置
  • 你想让会话无限,或者你在谈论给用户一个“记住我”类型的登录选项,它将某种散列登录凭据存储在 cookie 中?我问的原因是,如果使用基于磁盘的会话存储,使您的会话长度非常长(据我所知不能无限长)最终可能导致您耗尽磁盘空间,或者严重降低您的性能如果使用 db 支持的会话,则使用会话表。

标签: php session cakephp


【解决方案1】:

来自 Cake 的最顶端Session docs

Session.timeout - 您希望会话持续的分钟数。

Session.cookieTimeout - 您希望会话持续的分钟数。如果未定义,则将使用来自 Session.timeout 的值。

虽然你不能让它们无限大,但尝试越来越大的数字,直到你满意为止。

<?php
Configure::write('Session', array(
    'timeout' => 4320 //3 days
));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 2011-05-14
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多