原文链接:http://www.jianshu.com/p/dc33f8ab0618

Lumen5.2 的Release Notes中官方明确的指出Lumen专注于构建无状态API,JSON API 服务,移除了session和view的支持,但其实view还是存在的,session确实真的被移除了

因为项目需要所以我决定找回session,虽然官方建议需要session功能时可以使用强大的Laravel框架,但是对我小项目确实有点大材小用了。因为喜欢Laravel的优雅,所以我在小项目中都会把Lumen做为项目的首选。

下面就来一步步找回“丢失”的session吧!

注册SessionServiceProvider

打开bootstrap/app.php,在相应位置添加注册SessionServiceProvider,代码如下

/*|--------------------------------------------------------------------------| Register Service Providers|--------------------------------------------------------------------------|*/
// 注册 SessionServiceProvider
$app->register(Illuminate\Session\SessionServiceProvider::class);
// 载入session相关配置
$app->configure('session');

configure函数会从文件中加载配置,并绑定到container中,接下来只需要在项目根目录创建config文件夹,并新建session.php配置文件

<?php
/*** Created by PhpStorm.* User: Spectre* Date: 2017/6/19* Time: 11:40*/
return ['driver' => env('SESSION_DRIVER', 'file'),//默认使用file驱动,你可以在.env中配置'lifetime' => 120,//缓存失效时间'expire_on_close' => false,'encrypt' => false,'files' => storage_path('framework/session'),//file缓存保存路径'connection' => null,'table' => 'sessions','lottery' => [2, 100],'cookie' => 'laravel_session','path' => '/','domain' => null,'secure' => false,
];

然后在storage/framework/下建立session文件夹用来存储session缓存,别忘了修改权限

注册StartSession中间件

打开bootstrap/app.php,在Register Middleware位置修改

// bootstrap/app.php
// ...
|--------------------------------------------------------------------------
| Register Middleware
|--------------------------------------------------------------------------
// ...
$app->middleware([Illuminate\Session\Middleware\StartSession::class
]);

添加Session别名

因为框架中使用了session别名,所以需要添加alias,不然会报错

// bootstrap/app.php
// ...
// 注册 SessionServiceProvider
$app->register(Illuminate\Session\SessionServiceProvider::class);// 载入session相关配置
$app->configure('session');// 设置session别名
$app->alias('session', 'Illuminate\Session\SessionManager');

使用session

至此,你就可以在代码中使用session了,使用 app('session') 即可获取session实例,示例:

 $request->session()->set('user', $users);$request->session()->get('user');

转载于:https://www.cnblogs.com/spectrelb/p/7048084.html

Lumen中启用session相关推荐

  1. php.ini中关于Session的配置

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/msllws/article/detai ...

  2. Web站点下的Web Service读取此Web站点中的Session值

    在用Ajax:AutoCompleteExtender控件时,碰到自动完成的数据没办法按当前登录用户过滤权限的问题,主要是因为AutoComplete.asmx中自动完成的Method参数是固定的,不 ...

  3. 【译文】漫谈ASP.NET中的Session

    最近这两天被一个Web Farm环境下的Session处理问题虐得很痛苦,网上到处找解决方案,在无意中翻看到这篇文章,感觉很不错,顺手查了一下,貌似没有现成的译文,于是一咬牙一跺脚把这篇文章翻译出来了 ...

  4. 固件中启用的虚拟化否_哪些固件或硬件机制可启用强制关机?

    固件中启用的虚拟化否 At one time or another, all of us have had to force our computers to shut down by pushing ...

  5. 在HttpHandlers中使用Session

    在HttpHandlers中使用Session 如果在实现IHttpHandler接口时没有实现IReadOnlySessionState接口,那么就无法使用Session,只要用到Session的地 ...

  6. ASP.NET Core 中简单Session登录校验

    ASP.NET Core 中简单Session登录校验:从Session的配置添加.到请求过滤.再到页面操作.推荐相关阅读:ASP.NET 会话状态概述  ASP.NET Cookie 概述  ASP ...

  7. [乐意黎原创]PHP启用session后抛 session_start(): open(/var/lib/php/session/sess_... 的解决办法

    如题,PHP启用SESSION后抛 Warning: session_start(): open(/var/lib/php/session_user/sess_d5gn9q7q9qii26ajk2c8 ...

  8. Spring Boot 应用中 Spring Session 的配置(1) : 自动配置 SessionAutoConfiguration

    概述 本文基于以下组合的应用,通过源代码分析一下一个Spring Boot应用中Spring Session的配置过程: Spring Boot 2.1.3.RELEASE Spring Sessio ...

  9. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第45讲:PHP程序设计中的session技术

    陈力:传智播客古代 珍宝币 泡泡龙游戏开发第45讲:PHP程序设计中的session技术 Session是服务器端技术,可以把各自的数据放在各自的session中.通过session_start(); ...

最新文章

  1. C++ 从双重检查锁定问题 到 内存屏障的一些思考
  2. [实战虚拟化]无需借助虚机安装,就能从VHD原生启动
  3. python运维开发常用模块(四)文件对比模块difflib
  4. sublime插件 TortioseSVN
  5. java异步多线程 判断线程状态_java多线程和异步回调
  6. [SpringBoot2]web场景_静态资源规则与定制化
  7. supersocke接收不到数据_基于SuperSocket的北斗终端数据接收服务的设计与实现
  8. Python 判断变量类型
  9. UE4 视频播放打包Pak内
  10. Android影视APP源码,影视APP源码,可打包成安卓苹果,亲测可用
  11. 计算机应用基础2-excel,《2014计算机应用基础excel2.doc
  12. jdk32位安装包下载_Win10离线安装.NET Framework 3.5方法汇总(附下载)
  13. CRT软件使用-连接虚拟机
  14. nxp单片机入门_使用恩智浦MCUXpresso开发FRDM-KL46Z入门
  15. 1.语音增强技术概述
  16. 2022年11月编程排行榜
  17. 【水】java试手—poj 2387
  18. 计算机黑屏时间,电脑开机黑屏时间长怎么办?Win10开机黑屏时间很久的解决方法...
  19. 线性代数学习笔记(一):线性空间的理解
  20. 【你觉得这些技术值多少钱?】

热门文章

  1. TF实现多minibatch梯度累加及反向更新
  2. 二叉树的直径—leetcode543
  3. 舰娘 服务器 维护时间,《舰娘Collection》停止运营公告
  4. 计算机应用基础专科,2016电子科技大学计算机应用基础(专科)在线作业2
  5. CentOS上使用OpenStack的一些问题
  6. 汇编之loop指令使用栈实现二重循环,同时了解汇编函数(过程)的概念用法
  7. Think Bayes - 我所理解的贝叶斯定理
  8. UCOS中断函数的编写
  9. HTML <div> 标签介绍
  10. cursoradpter自动更新