thinkphp框架session共享問題
- 2019 年 12 月 27 日
- 筆記
近期一個項目中涉及到了二級站的問題,需要將主站和二級站點的session進行打通,涉及到session共享問題,查看了網站的很多實例,最後總結出最簡單的辦法。分享給大家
我們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 <[email protected]> // +---------------------------------------------------------------------- // +---------------------------------------------------------------------- // | 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 <[email protected]> // +---------------------------------------------------------------------- // +---------------------------------------------------------------------- // | 會話設置 // +---------------------------------------------------------------------- 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手冊中找到,如下圖:


