将Cakephp会话设置为数据库

时间:2012-12-31 14:32:10

标签: php session cakephp cakephp-2.0 session-variables

我刚将我的应用程序从cakephp1.3迁移到cakephp2.0。我在配置数据库会话时遇到问题。

我在core.php中更改了会话配置

Configure::write('Session', array(
    'defaults' => 'database',
        'handler' => array(
        'model' => 'Session'
        )
));

我有一个数据库表会话。有什么我错过了。当我在登录时写会话并重定向很好,我可以很好地读取会话变量。但是在页面刷新时,会话将被删除。

1 个答案:

答案 0 :(得分:6)

根据我的理解,您正在尝试使用Cake的默认数据库会话处理,并且您没有使用自定义处理程序模型,如果是这样的话:

为Cake设置这些配置选项以使用app/config/core.php中的数据库会话:

Configure::write('Session', array(
    'defaults' => 'database'
));

确保为您将用于创建正确表的数据库运行此项,因为Cake将在那里存储会话:

CREATE TABLE cake_sessions (
  id varchar(255) NOT NULL default '',
  data text,
  expires int(11) default NULL,
  PRIMARY KEY  (id)
);