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' => '', ],