duanlao1552 2011-02-21 11:49
浏览 50
已采纳

Kohana - 会话数据库

I'm attempting to use the session database with Kohana 3.

I have setup the mysql database as described here: http://kerkness.ca/wiki/doku.php?id=sessions_and_cookies

I am setting session variables like so:

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

However when I go to fetch the data back later on a different page or refresh it returns NULL.

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

But if I put them right next to each other it works fine... i.e.

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

Any ideas as to why this is happening?

I have also setup session.php in my config folder which looks like this:

<?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',
      ),
  );

?>

Cheers, Thomas.

  • 写回答

1条回答 默认 最新

  • dongmu1989 2011-02-21 12:15
    关注

    Update the session.php file to look like this:

    <?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',
          ),
      );
    
    ?>
    

    Problem was by default the sessions are called 'session'.

    So I renamed each adapter and it has fixed the issue.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?