thinkphp 配置session存储至内存
当项目使用了负载均衡后,使用文件存储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' => '',
],


