IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 【Laravel】关于Laravel8的session与Redis连接的问题 -> 正文阅读

[PHP知识库]【Laravel】关于Laravel8的session与Redis连接的问题

1. 安装 predis 包,也可以选择其他包,如 phpredis。

composer require predis/predis

2. 配置?config\database.php 文件,添加 session 连接配置。

'redis' => [

        'client' => env('REDIS_CLIENT', 'predis'), // <-- 默认为 phpreids,改为 predis

        'options' => [
            'cluster' => env('REDIS_CLUSTER', 'redis'),
            'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_database_'),
        ],

        'default' => [
            'url' => env('REDIS_URL'),
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', '6379'),
            'database' => env('REDIS_DB', '0'),
        ],

        'cache' => [
            'url' => env('REDIS_URL'),
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', '6379'),
            'database' => env('REDIS_CACHE_DB', '1'),
        ],

        // 添加如下设置,可按项目需求更改:
        'session' => [
            'url' => env('REDIS_URL'),
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', '6379'),
            'database' => env('REDIS_SESSION_DB', '2'),
        ],

    ],

? ? 如果出现?Class 'Redis' not found?错误,请将上述配置中客户端改为 predis

// 更改前默认配置为 phpredis
'client' => env('REDIS_CLIENT', 'phpredis'),

// 更改为 predis
'client' => env('REDIS_CLIENT', 'predis'),

3. 配置?config\session.php 文件

? ? driver 和 connection 配置

// 更改前
'connection' => env('SESSION_CONNECTION', 'null'),

// 更改后 将 null 改为 session
'connection' => env('SESSION_CONNECTION', 'session'),

/* -------------------------------------------------- */

// 更改前
'driver' => env('SESSION_DRIVER', 'file'),

// 更改后 将 file 改为 redis
'driver' => env('SESSION_DRIVER', 'redis'),

4. 更改 .env 配置文件设置

SESSION_DRIVER=redis

REDIS_SESSION_DB=2 // 这里的 2 可以替换成你的项目的数据库编号,Redis有16个库。

5. 如果出现?Session store not set on request. 错误的解决办法

将?\Illuminate\Session\Middleware\StartSession::class, 添加进?app\Http\Kernel.php 文件的

全局中间件:?protected $middleware

或者添加到 web 中间件:?protected $middlewareGroups

添加到全局中间件可以不用做其他操作,如果添加到 web 中间件,需要在 Route 里添加中间件组才可消除错误。

例:?

Route::middleware('web')->get('/test', function (Request $request) {
    // 你的代码段
});

完成!

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 12:42:42  更:2022-03-06 12:43:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 11:35:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码