thinkphp 配置session存储至内存

作者: wxfeng 分类: php 发布时间: 2020-11-18 09:05    阅读 1,710 次

当项目使用了负载均衡后,使用文件存储session,会导致在刷新或登录时,登录状态失效。所以应当将session存储至负载均衡末端每个服务器公用的的位置,如redis,而不是各自存储。本篇文章介绍thinkphp 5 项目使用redis存储session的配置方案,下图只是说明负载均衡与session存储的关系,和本文配置无关。

编辑项目配置文件:application/config.php,找到session选项进行配置,配置入下:

// +----------------------------------------------------------------------
// | 会话设置
// +----------------------------------------------------------------------
'session'                => [
    'id'             => '',
    // SESSION_ID的提交变量,解决flash上传跨域
    'var_session_id' => '',
    // SESSION 前缀
    'prefix'         => 'think',
    // 驱动方式 支持redis memcache memcached
    'type'           => 'redis',
    // 是否自动开启 SESSION
    'auto_start'     => true,
    // redis主机
    'host'           => Env::get('redis.host', '127.0.0.1'),
    // redis端口。
    'port'           => Env::get('redis.port', '6379'),
    'password'       => Env::get('redis.password', ''),
    'select'         => 1,
    'expire'         => 3600,
    'timeout'        => 0,
    'session_name'   => '',
],

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

您的电子邮箱地址不会被公开。