1

kohana アプリケーションの外部で kohana セッション データを取得したい。kohanaページではない静的ファイルでセッションデータを取得したいということです。

4

2 に答える 2

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 アプリケーション内のセッションにアクセスできるようになりました。

于 2013-07-16T12:17:09.707 に答える
1
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,
    ),
);
于 2013-05-18T11:26:20.903 に答える