如何在kohana申请之外获得kohana会话数据?

时间:2013-05-18 11:12:26

标签: php session kohana-3.2

我想在kohana应用程序之外获取kohana会话数据。我的意思是说我想把会话数据放在一个不是kohana页面的静态文件中。

2 个答案:

答案 0 :(得分:2)

我尝试了很多东西,而且我找到了答案,

在您的控制器类中,在kohana会话实例之前获取本机会话ID并存储它。现在关闭本机会话并通过将会话ID作为参数传递来启动kohana会话。

    session_start();    
    // Store session id and close the session
    $sessionId = session_id();
    session_write_close();

    // Then we can restore the session by using the session id 
    // and the Session class from Kohana
    Session::Instance(Session::$default, $sessionId);

现在您可以访问kohana应用程序内的会话。

答案 1 :(得分:1)

session_name('kohana'); //Your session name   
print_r($_SESSION);

您可以通过在APPPATH/config/session.php创建会话配置文件,将配置设置应用于每个会话适配器。以下示例配置文件定义了每个适配器的所有设置:

[!!]与cookies一样,“生命周期”设置为“0”表示会话将在浏览器关闭时到期。

return array(
    'native' => array(
        'name' => 'session_name',
        'lifetime' => 43200,
    ),
    'cookie' => array(
        'name' => 'cookie_name',
        'encrypted' => TRUE,
        'lifetime' => 43200,
    ),
    'database' => array(
        'name' => 'cookie_name',
        'encrypted' => TRUE,
        'lifetime' => 43200,
        'group' => 'default',
        'table' => 'table_name',
        'columns' => array(
            'session_id'  => 'session_id',
            'last_active' => 'last_active',
            'contents'    => 'contents'
        ),
        'gc' => 500,
    ),
);