近期一个项目中涉及到了二级站的问题,需要将主站和二级站点的session进行打通,涉及到session共享问题,查看了网站的很多实例,最后总结出最简单的办法。分享给大家
![ce1dbdd9ea3596803944ea5a38715c1b.png](https://i-blog.csdnimg.cn/blog_migrate/d60ab121b7ab582281b07db91ee174a1.jpeg)
PHP
我们thinkphp5.1版本框架为例,在config目录内找到cookie.php,session.php,我们将其打开:
一、cookie.php
<?php // +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.// +----------------------------------------------------------------------// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: liu21st // +---------------------------------------------------------------------- // +----------------------------------------------------------------------// | Cookie设置// +----------------------------------------------------------------------return [ // cookie 名称前缀 'prefix' => '', // cookie 保存时间 'expire' => 0, // cookie 保存路径 'path' => '/', // cookie 有效域名 'domain' => '.explode.com', // cookie 启用安全传输 'secure' => false, // httponly设置 'httponly' => '', // 是否使用 setcookie 'setcookie' => true,];
二、session.php
<?php // +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.// +----------------------------------------------------------------------// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: liu21st // +---------------------------------------------------------------------- // +----------------------------------------------------------------------// | 会话设置// +---------------------------------------------------------------------- return [ 'id' => '', // SESSION_ID的提交变量,解决flash上传跨域 'var_session_id' => '', // SESSION 前缀 'prefix' => 'think', // 驱动方式 支持redis memcache memcached 'type' => '', // 是否自动开启 SESSION 'auto_start' => true, // session cookie_domain 有效域名 'domain' => '.explode.com'];
总结:我们将cookie和session的作用域进行设置即可,关于session的有效域名设置问题,可以在thinkphp5.1手册中找到,如下图:
![e97c584ddbfe2aa4c5cfc4b4f0e6c8fc.png](https://i-blog.csdnimg.cn/blog_migrate/d360a9e2a9eee9f13a2fd826faee87fe.jpeg)
ThinkPHP