【问题标题】:Kohana 3.2 : Error reading session dataKohana 3.2:读取会话数据时出错
【发布时间】:2012-04-20 12:31:54
【问题描述】:

我正在使用 Kohana 3.2 开发一个模块(一个简单的 cms),我收到了这个异常“读取会话数据时出错”。

我正在使用本机会话,有趣的是,如果我设置“默认”组数据库连接,则不会显示错误...(我正在使用自定义连接组,并且我已经设置了此数据库连接组到用户、角色和 user_token 模型)。

这是我的配置文件

auth.php

return array(

    'driver'       => 'orm',
    'hash_method'  => 'sha256',
    'hash_key'     => 'just a test 1',
    'lifetime'     => 1209600,
    'session_type' => 'native',
    'session_key'  => 'just a test 2',

    // Username/password combinations for the Auth File driver

    'users' => array(
       // 'luca' => 'e12afe0d3ead3d36191d86229d27057d96d9f2e063fe6f3e86699aaab5310d42'
        // 'admin' => 'b3154acf3a344170077d11bdb5fff31532f679a1919e716a02',
    ),

);

session.php

return array(
    'native' => array(
        'name' => 'session_native',
        'lifetime' => 43200,
    ),
    'cookie' => array(
        'name' => 'session_cookie',
        'encrypted' => TRUE,
        'lifetime' => 43200,
    ),
    'database' => array(
        'name' => 'session_database',
        'encrypted' => TRUE,
        'lifetime' => 43200,
        'group' => Pencil::db_group(),
        'table' => 'sessions',
        'columns' => array(
            'session_id'  => 'session_id',
            'last_active' => 'last_active',
            'contents'    => 'contents'
        ),
        'gc' => 500,
    ),
);

【问题讨论】:

  • 我发现强制 Kohana_ORM->_db_group 到我的自定义数据库组我解决了问题,但这对我来说不是一个体面的解决方案。
  • 我在会话数据方面遇到了类似的问题。你确定,变量$_SESSION 和函数session_start() 正在某处使用吗?进行文本搜索。

标签: session kohana authentication


【解决方案1】:

您将 encrypted 设置为 true,因此您需要一个加密密钥。在你的 config/encrypt.php 添加这个:

  <?php

return array(
    'default' => array(
        'key' => 'MY_RANDOM_KEY_I_MADE_UP_ALL_BY_MYSELF',
    ),
);

我会将 session_key 设置为“auth_user”,而不是您的随机密钥。我认为这种情况下的密钥与哈希密钥不同。

检查应用程序/日志中的日志,看看是否缺少其他任何内容。

【讨论】:

    猜你喜欢
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多