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

In Laravel 3, it was a bit hacky, but possible with this code:

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

But I can't work it out in Laravel 4... referencing the Session::$instance object throws errors:

Access to undeclared static property: Illuminate\Support\Facades\Session::$instance

我try 过:

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

但是没有用..有什么 idea 吗?

推荐答案

取决于Laravel的版本:

拉威尔3:

$session_id = $_COOKIE["laravel_session"];

Laravel 4.0:

Just not versions 4.1 and above:

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

Laravel 4.1(及以后版本):

$session_id = Session::getId();

or

$session_id = session()->getId()

Laravel不再直接使用内置的PHP会话,因为开发人员可以 Select 使用各种驱动程序来管理访问者的会话(文档适用于Laravel 4.2Laravel 5.1Laravel 5.2).

Because of this, now we must use Laravel's Session facade or session() helper to get the ID of the session:

Laravel相关问答推荐

在postgres/mysqlс中,我可以定义基于json字段的唯一索引吗?

在 React 中将属性从一个组件传递到另一个组件

Laravel Eloquent - 随叫随到的加密/解密数据

在 laravel 5 中的表单请求验证后传递旧输入

Laravel 5.6 - 如何在 api 控制器中获取 auth()->user() 或 $response->user()?

如何修复无效请求(不支持的 SSL 请求)

如何使用 laravel eloquent 获得select count(*) group by

Laravel timestamps() 不会创建 CURRENT_TIMESTAMP

如何在 Laravel 5.2 中手动发送密码重置请求?

laravel Blade中多选选项中的旧值

如何在包中安排 Artisan 命令?

如何利用 StorageFacade 的 Filesystem 类的 glob 方法?

调用未定义的方法 Illuminate\Foundation\Application::bindShared()

Laravel Blade - 如果满足条件,则添加一个类

Laravel:命令未找到

如何在 laravel 中使用 GROUP_CONCAT

控制器中的laravel foreach循环

Laravel 5 事件处理程序未触发

如何在 Laravel 中动态更改 .env 文件中的变量?

错误:找不到模块 'webpack/lib/rules/DescriptionDataMatcherRulePlugin' 需要堆栈: