laravel中将session由文件保存改为数据库保存的方法

我们知道`http`是无状态的,所以引入了`session`来标识跟踪用户

在`laravel`中`session`默认是保存在文件中的,保存在`/storage/framework/sessions`中

为了方便管理以及满足负载均衡及高可用的情况下,我们需要将`session`保存在`数据库`中

首先修改配置文件

将`.env`文件中的`SESSION_DRIVER`对应值由`file`改为`database`

在.env文件中配置好数据库

```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=blog
DB_USERNAME=root
DB_PASSWORD=123456
```

然后使用命令自动`生成`存放`session`的`数据表`

执行`php artisan session:table`,在`/database/migrations/`下新增一个以`create_sessions_table.php`结尾的表

执行`php artisan migrate`后数据库中会新增一个sessions表

然后就可以在代码中使用`session`了

我们可能需要手工编码来维护`session`失效时删除数据库的记录

    A+
发布日期:2020年11月27日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: