Kohana - 会话数据库

时间:2011-02-21 11:49:20

标签: php mysql session kohana kohana-3

我正在尝试将会话数据库与Kohana 3一起使用。

我已按照此处所述设置了mysql数据库:http://kerkness.ca/wiki/doku.php?id=sessions_and_cookies

我正在设置会话变量:

Session::instance('database')->set('uid', $user_id);

但是,当我稍后在另一个页面上取回数据或刷新时,它会返回NULL。

Session::instance('database')->get('uid', NULL);

但是,如果我把它们放在彼此旁边,它就可以正常工作......即

Session::instance('database')->set('uid', $user_id);
Session::instance('database')->get('uid', NULL);

有关为何发生这种情况的任何想法?

我还在我的配置文件夹中设置了session.php,如下所示:

<?php

    return array(
      'cookie' => array(
          'name' => 'cookie',
          'encrypted' => TRUE,
          'lifetime' => 43200,
      ),
      'native' => array(
          'name' => 'session',
          'encrypted' => TRUE,
          'lifetime' => 43200,
      ),
      'database' => array(
          'group' => 'default',
          'table' => 'sessions',
      ),
  );

?>

干杯, 托马斯。

1 个答案:

答案 0 :(得分:1)

将session.php文件更新为如下所示:

<?php

    return array(
      'cookie' => array(
          'name' => 'session_cookie',
          'encrypted' => TRUE,
          'lifetime' => 43200,
      ),
      'native' => array(
          'name' => 'session_native',
          'encrypted' => TRUE,
          'lifetime' => 43200,
      ),
      'database' => array(
          'name' => 'session_database',
          'group' => 'default',
          'table' => 'sessions',
      ),
  );

?>

默认情况下,会话称为“会话”。

所以我重命名了每个适配器,它解决了这个问题。