PHP_YII框架_Session共享设置
程序员文章站
2022-03-25 19:11:36
[TOC] 环境准备 1. PHP 安装 redis 模块 2. 安装Redis软件 安装好后设置一下配置,比如:密码、端口、后台运行 3. 测试是否能Ping Redis 如果redis不是安装在本地,安装在虚拟机、别的机器,先ping一下查看是否能ping通; 4. 配置二级域 我使用Phpst ......
环境准备
1. php 安装 redis 模块
// cmd终端输入命令 确认是否安装 $ php -m [php modules] ... redis
2. 安装redis软件
安装好后设置一下配置,比如:密码、端口、后台运行
3. 测试是否能ping redis
如果redis不是安装在本地,安装在虚拟机、别的机器,先ping一下查看是否能ping通;
4. 配置二级域
我使用phpstudy环境工具;
redis插件存取数据默认是80端口,如果改别的端口 ,可能要修改一些配置文件(需要修改端口的请找具体教程 修改配置);
yii框架环境准备
yii-redis插件,可以手动下载,也可以通过composer下载;
yii配置文件
需要跨站共享session的三级域,每一个程序都需要配置成一致。
config\web.php
<?php $config = [ 'components' => [ 'session'=>[ 'class' => 'yii\redis\session', 'keyprefix'=>'session', // 跨站共享session,前缀必须设置一样 'redis' => 'redis', 'cookieparams' => [ 'domain' => 'test.com', // 配置二级域 'httponly' => true, ] ], 'redis' => [ 'class' => 'yii\redis\connection', 'hostname' => '127.0.0.1', // redis服务器 ip 'port' => 6379, // redis 端口 'database' => 0, ], ?>
web\index.php
<?php ini_set('session.cookie_domain','test.com'); // 配置二级域 ?>
效果
你浏览器请求一次 a.test.com ,在请求一次b.test.com ,发现他们两个三级域 cookie 中的 phpsessionid 值都是一样的。
上一篇: 几种回文算法的比较