簡體   English   中英

如何在kohana申請之外獲得kohana會話數據?

[英]How to get kohana session data outside kohana application?

我想在kohana應用程序之外獲取kohana會話數據。 我的意思是說我想把會話數據放在一個不是kohana頁面的靜態文件中。

我嘗試了很多東西,而且我找到了答案,

在您的控制器類中,在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應用程序內的會話。

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

您可以通過在APPPATH/config/session.php創建會話配置文件,將配置設置應用於每個會話適配器。 以下示例配置文件定義了每個適配器的所有設置:

[!!]與cookie一樣,“生命周期”設置為“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,
    ),
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM