浏览器关闭后保持CakePHP会话

时间:2010-11-07 12:11:13

标签: php session cakephp-1.3

如何在浏览器关闭后保持CakePHP 1.3会话?

4 个答案:

答案 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。