php 如何在Laravel中获取会话ID?

b09cbbtk  于 2023-05-16  发布在  PHP
关注(0)|答案(4)|浏览(261)

我想在Laravel 4中获取会话的id
在Laravel 3中,这有点古怪,但可以通过以下代码实现:

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

但是我不能在Laravel 4中工作。引用Session::$instance对象会抛出错误:
访问未声明的静态属性:Illuminate\Support\Facades\Session::$instance
尝试过:

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

但无济于事。有什么想法吗?

afdcj2ne

afdcj2ne1#

取决于Laravel的版本:

Laravel 3:

$session_id = $_COOKIE["laravel_session"];

Laravel 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.2,Laravel 5.1,Laravel 5.2的文档)。
因此,现在我们必须使用Laravel的Session facade或session() helper来获取会话的ID:

46qrfjad

46qrfjad2#

我自己也有一个小小的搜索,因为上面的答案对我不起作用(Laravel 4.1)。
不得不使用这个:

Session::getId();
lg40wkob

lg40wkob3#

在laravel 5.5中,首先在你的控制器use Session;中写这个,然后在你的控制器函数中写下面的行session()->getId();

nfs0ujit

nfs0ujit4#

Laravel 9:
$sessionId = session()->getId();

$sessionId = Session::getId();

相关问题