如何在浏览器关闭后保持CakePHP 1.3会话?
答案 0 :(得分:2)
似乎有办法通过覆盖的配置值来增加会话的生存时间。 (在PHP级别 - 通过CakePHP Manual)。使用下面的代码,您可以将0更改为您希望会话继续使用的秒数。
// Cookie is now destroyed when browser is closed, doesn't
// persist for days as it does by default for security
// low and medium
ini_set('session.cookie_lifetime', 0);
2周的例子:
ini_set('session.cookie_lifetime', 60 * 60 * 24 * 14);
上面的代码段将写入您在app/config
中创建的配置文件中。要让CakePHP在初始化时读取该文件,请将以下内容添加到app/config/core.php
Configure::write('Session.save','my_session');
其中my_session
是配置文件的名称。
答案 1 :(得分:1)
您必须将其转换为Cookie,因为在关闭浏览器时会自动删除会话。请参阅this。
答案 2 :(得分:1)
设置$this->Session->cookieLifeTime = $timeToLive;
,其中$timeToLive
是您希望会话持续的秒数。这是总长度,因此如果浏览器窗口关闭,它将不会被删除,但请注意,从浏览器关闭时开始测量
答案 3 :(得分:0)
浏览器关闭时不会销毁Cookie。