Thinkphp5.1框架中实现Session+Redis会话共享流程步骤
在多web服务器环境中,会话共享是最基本也是最基础的分布式架构,
基本上所有成熟的web框架都有实现该功能,只需要简单的配置即可。
下面简单说一下再thinkphp结构中如何配置redis以实现session共享
测试Session+Redis会话共享环境:
下载两个tp5.1.10版本部署
域名1:tp1.zongscan.com
域名2:tp2.zongscan.com
进入步骤:
1.配置session内容,两套代码都要配置
return [
'id' => '',
// SESSION_ID的提交变量,解决flash上传跨域
'var_session_id' => '',
// SESSION 前缀
'prefix' => 'module',
// 驱动方式 支持redis memcache memcached
'type' => 'redis',
// 是否自动开启 SESSION
'auto_start' => true,
// redis主机
'host' => '127.0.0.1',
// redis端口
'port' => 6379,
// 密码
'password' => '',
'domain' => '.local.com',//域名前面的那个小“.”别忘了 ,设置session域
]
2.两个域名间测试
a.在tp1项目index模块Index控制器内的test,利用session助手函数存储session变量
public function test()
{
session('zongscan','你好,我是tp1的test');
echo session('zongscan');
}
b.然后在tp2项目的任意方法内获取session值
public function zongscan()
{
echo session('zongscan');
}
最后
去访问代理机test分配到两个web机后会自动写入session
再次访问zongscan的时候,会显示"我是tp1的test"的字样
说明就会话共享成功实现了
相关文章