新升级Lumen 5.1 Session无法使用
1、bootstrap/app.php 开启session
2、session配置
3、路由
4、控制器
6、访问
http://localhost:8000/test
返回:
http://localhost:8000/demo
返回:
同时 storage/framework/sessions 目录没有生成session文件
7、调查Session存储
vendor/illuminate/session/Store.php
这个方法根本没有调到。这是我新下载一份Lemun5.1项目进行的测试
项目刚开始用Lemun5.0,今天刚升级5.1,出现session无法使用的问题
请大家帮得看看,是否是新升级的Lemun5.1的Session 的bug?
$app->middleware([
Illuminate\Cookie\Middleware\EncryptCookies::class,
Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
Illuminate\Session\Middleware\StartSession::class,
Illuminate\View\Middleware\ShareErrorsFromSession::class,
// Laravel\Lumen\Http\Middleware\VerifyCsrfToken::class,
]);
2、session配置
'driver' => env('SESSION_DRIVER', 'file'),
3、路由
$app->get('/', function() use ($app) {
return $app->prepareResponse($app->welcome());;
});
$app->get('test', ['uses' => 'Controller@test']);
$app->get('demo', ['uses' => 'Controller@demo']);
4、控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Laravel\Lumen\Routing\Controller as BaseController;
class Controller extends BaseController
{
public function test(Request $request)
{
$request->session()->put('key', 'test');
$value = $request->session()->get('key');
var_dump($value);
}
public function demo(Request $request)
{
$value = $request->session()->get('key');
var_dump(session($value));
}
}
6、访问
http://localhost:8000/test
返回:
test
http://localhost:8000/demo
返回:
null
同时 storage/framework/sessions 目录没有生成session文件
7、调查Session存储
vendor/illuminate/session/Store.php
/**
* {@inheritdoc}
*/
public function save()
{
$this->addBagDataToSession();
$this->ageFlashData();
$this->handler->write($this->getId(), $this->prepareForStorage(serialize($this->attributes)));
$this->started = false;
}
这个方法根本没有调到。这是我新下载一份Lemun5.1项目进行的测试
项目刚开始用Lemun5.0,今天刚升级5.1,出现session无法使用的问题
请大家帮得看看,是否是新升级的Lemun5.1的Session 的bug?
2 个回复
南山磨刀Mars
赞同来自:
Mr_Jing
赞同来自: