52

Laravel4でセッションのIDを取得したい

Laravel 3 では少しハックでしたが、次のコードで可能になりました。

$session_id = Session::$instance->session['id'];

しかし、Laravel 4 では解決できません...Session::$instanceオブジェクトを参照するとエラーがスローされます。

宣言されていない静的プロパティへのアクセス: Illuminate\Support\Facades\Session::$instance

試しました:

$session_id = Session::get('id');

しかし役に立たない..何かアイデアはありますか?

4

3 に答える 3

101

Laravel のバージョンによって異なります。

ララベル 3:

$session_id = $_COOKIE["laravel_session"];

ララベル 4.0:

バージョン4.1以降ではありません:

$session_id = session_id(); //thanks Phill Sparks

Laravel 4.1 (およびそれ以降):

$session_id = Session::getId();

また

$session_id = session()->getId()

開発者はさまざまなドライバーを使用して訪問者のセッションを管理することを選択できるため、Laravel は組み込みの PHP セッションを直接使用しなくなりました ( Laravel 4.2Laravel 5.1Laravel 5.2のドキュメント)。

このため、Laravel のSessionファサードまたはsession()ヘルパーを使用してセッションの ID を取得する必要があります。

于 2013-05-29T11:35:03.607 に答える
45

上記の答えがうまくいかなかったので(Laravel 4.1)...

これを使用する必要がありました:

Session::getId();
于 2013-12-18T12:10:50.743 に答える