如何在Laravel中获取会话ID?

2022-08-30 10:14:06

我想在 Laravel 4 中获取会话的 ID

在Laravel 3中,它有点笨拙,但可以使用以下代码:

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

但是我无法在Laravel 4中解决它...引用对象会引发错误:Session::$instance

访问未声明的静态属性:照明\支持\立面\会话::$instance

试过:

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

但无济于事。任何想法?


答案 1

取决于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.2,Laravel 5.1Laravel 5.2的文档)。

因此,现在我们必须使用Laravel的门面或助手来获取会话的ID:Sessionsession()


答案 2

只是找了一点自己,因为上面的答案对我不起作用(Laravel 4.1)......

不得不使用这个:

Session::getId();

推荐