【 ThinkPHP 5 】 session 跨域问题解决-程序员宅基地

技术标签: php  

具体如源码所示,黄色背景显示:

 1     /**
 2      * session初始化
 3      * @param array $config
 4      * @return void
 5      * @throws \think\Exception
 6      */
 7     public static function init(array $config = [])
 8     {
 9         if (empty($config)) {
10             $config = Config::get('session');
11         }
12         // 记录初始化信息
13         App::$debug && Log::record('[ SESSION ] INIT ' . var_export($config, true), 'info');
14         $isDoStart = false;
15         if (isset($config['use_trans_sid'])) {
16             ini_set('session.use_trans_sid', $config['use_trans_sid'] ? 1 : 0);
17         }
18 
19         // 启动session
20         if (!empty($config['auto_start']) && PHP_SESSION_ACTIVE != session_status()) {
21             ini_set('session.auto_start', 0);
22             $isDoStart = true;
23         }
24 
25         if (isset($config['prefix']) && ('' === self::$prefix || null === self::$prefix)) {
26             self::$prefix = $config['prefix'];
27         }
28         if (isset($config['var_session_id']) && isset($_REQUEST[$config['var_session_id']])) {
29             session_id($_REQUEST[$config['var_session_id']]);
30         } elseif (isset($config['id']) && !empty($config['id'])) {
31             session_id($config['id']);
32         }
33         if (isset($config['name'])) {
34             session_name($config['name']);
35         }
36         if (isset($config['path'])) {
37             session_save_path($config['path']);
38         }
39         if (isset($config['domain'])) {
40             ini_set('session.cookie_domain', $config['domain']);
41         }
42         if (isset($config['expire'])) {
43             ini_set('session.gc_maxlifetime', $config['expire']);
44             ini_set('session.cookie_lifetime', $config['expire']);
45         }
46         if (isset($config['secure'])) {
47             ini_set('session.cookie_secure', $config['secure']);
48         }
49         if (isset($config['httponly'])) {
50             ini_set('session.cookie_httponly', $config['httponly']);
51         }
52         if (isset($config['use_cookies'])) {
53             ini_set('session.use_cookies', $config['use_cookies'] ? 1 : 0);
54         }
55         if (isset($config['cache_limiter'])) {
56             session_cache_limiter($config['cache_limiter']);
57         }
58         if (isset($config['cache_expire'])) {
59             session_cache_expire($config['cache_expire']);
60         }
61         if (!empty($config['type'])) {
62             // 读取session驱动
63             $class = false !== strpos($config['type'], '\\') ? $config['type'] : '\\think\\session\\driver\\' . ucwords($config['type']);
64 
65             // 检查驱动类
66             if (!class_exists($class) || !session_set_save_handler(new $class($config))) {
67                 throw new ClassNotFoundException('error session handler:' . $class, $class);
68             }
69         }
70         if ($isDoStart) {
71             session_start();
72             self::$init = true;
73         } else {
74             self::$init = false;
75         }
76     }

 所以,只需要config.php中这样配置即可,亲测可用

 

转载于:https://www.cnblogs.com/dtcub/p/8565079.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33816611/article/details/93964171

智能推荐

弘辽月刊:分享七月份弘辽电商月刊-程序员宅基地

文章浏览阅读52次。深圳市弘辽科技有限公司,致力于将已有经验同步复制给电商创业者、小微企业及商家,助力中国电商经济及视频电商经济良性发展,分享公司7月份弘辽月刊。

MTK平台是什么-程序员宅基地

文章浏览阅读4.6k次。 有时候想想真够窝囊的,本科四年,工作三年,白纸一张,什么都没留下。接触计算机7年了,一无所成。 大学时,大部分时间用在游戏、闲聊等吃喝玩乐,一部分用在应试,剩下可怜的少部分才是那喜爱的编程上了。应该称不上喜爱吧,顶多算不反感、感兴趣罢了。因为凡是这类课程我不用逃课了,不用瞌睡了,虽然不是认真听讲,但还是安安心心地看会书,平时作业、课程设计、毕业设计能认认真真完成而已。除此之外,还看过寥寥几本C/C++的书籍,其它的再也说不上来了。 工作三年,主要从事的是MTK平台MMI软件,做一些简单的应用开发。第_mtk平台

python 闲鱼消息_GitHub - Hatcat123/XianyuSdd: 爬取闲鱼某关键字实时信息,将最新的发送到钉钉群聊。更多我们共同开发的项目(咸鱼反爬更新,只能作为学习使用)...-程序员宅基地

文章浏览阅读651次。XianyuSdd爬取闲鱼某关键字实时信息,将最新的发送到钉钉群聊写了一个异步爬取闲鱼商品最新信息推送到钉钉图中的需求有两个部分值得学习。多线程爬取最新关键字的商品信息python对钉钉的操作多线程爬取最新关键字的商品信息这个多线程是依靠关键字的数量,启动线程。比如可以是线程数=关键字的数量/5。具体接口参考github组织中的例子,24小时采集 然后将线程加入到while True中。关键字与价..._闲鱼爬取最新商品

ANSYS2022R1安装教程(非常详细)从零基础入门到精通,看完这一篇就够了(附安装包)-程序员宅基地

文章浏览阅读2.2w次,点赞27次,收藏150次。网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。_ansys2022r1安装教程

ufldl matlab 工具箱,matlab的Deep Learning的toolbox 中的SAE算法-程序员宅基地

文章浏览阅读44次。最近一直在看Deep Learning,各类博客、论文看得不少但是说实话,这样做有些疏于实现,一来呢自己的电脑也不是很好,二来呢我目前也没能力自己去写一个toolbox只是跟着Andrew Ng的UFLDL tutorial写了些已有框架的代码(这部分的代码见github)后来发现了一个matlab的Deep Learning的toolbox,发现其代码很简单,感觉比较适合用来学习算法再一个就是..._matlab deep learning 工具箱算例

手把手教你在Windows上编译Swift工具链_windows 无法编译swift-程序员宅基地

文章浏览阅读1.8k次。2020/5/27更新:大家现在可以直接从Saleem Abdulrasool的Azure Pipeline中下载打包好的Swift Windows SDK了,在他的GitHub中找到swift-build项目,里面的CI链接里找到Artifacts就可以直接下载(类似windows-toolchain-amd64.msi这样的文件)。考虑到5.3版本的Swift将支持Windows平台,因此以下文章也许已经成为历史,大家看看就好了。-----------------------------------_windows 无法编译swift

随便推点

Unity打开出现两个空白错误的解决方法_unity 两个空白报错-程序员宅基地

文章浏览阅读1.8k次,点赞3次,收藏2次。这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar_unity 两个空白报错

Unity功能记录(九)------ Unity Android判断应用程序进入前后台方法_unity 监听程序进入前后台-程序员宅基地

文章浏览阅读3.7k次。Android上亲测有效,我是用来保存数据的,因为当用户强制清除掉后台程序时并不会调用Android和unity生命周期,但是程序进入后台运行就会调用如下方法,因此可用其来判断进入后台即保存数据 private void OnApplicationPause(bool focus) { if (focus) { Debug..._unity 监听程序进入前后台

ctf实战 掌控安全的靶场 第三关通关记录_掌控安全靶场第三关密码多少-程序员宅基地

文章浏览阅读3.3k次。掌控安全封神台第三关 根据题目可能要用burp进行抓包,点击传送门进入题目主页之前题目说的扫描到新的后台地址admin123 在网址后加入admin123 进入新的后台管理页面根据第二关得到的用户和密码进行登录 进入后得到这样一个页面抓包结果如下根据代码分析只需要修改host和referer的ip地址修改以后结果还是进不去分析一下问题 打开F..._掌控安全靶场第三关密码多少

Python读取txt文件中的两列数据(无title)_python读取txt文件第二列数据-程序员宅基地

文章浏览阅读3.9k次,点赞4次,收藏9次。import codecsfilecp = codecs.open('sunspot.dat', encoding ='utf-8')file_data = np.loadtxt(filecp, usecols=(0,1),skiprows=1)x = file_data[:,0]y = file_data[:,1]_python读取txt文件第二列数据

NOSQL:介绍理论及学习redis基础_redis 理论基础学习-程序员宅基地

文章浏览阅读111次。一、nosql背景互联网时代背景下大机遇,为什么用nosql1单机MySQL的美好年代在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。在那个时候,更多的都是静态网页,动态交互类型的网站不多。上述架构下,我们来看看数据存储的瓶颈是什么? 1.数据量的总大小 一个机器放不下时 2.数据的索引(B+ Tree)一个机器的内存放不下时 3.访问量..._redis 理论基础学习

dos设置ip_dos设置ip地址命令-程序员宅基地

文章浏览阅读3.6k次,点赞2次,收藏15次。一、使用netsh命令设置IP/DNS(1)自动获取IP地址:(其中中括号内容可省略)netsh interface ip set address [name=]“以太网” [source=]dhcp(2)手动设置IP地址:例如设置 IP 为 192.168.1.198,掩码为255.255.255.0,网关为192.168.0.254,那么 cmd 命令为:netsh interface ip set address [name=]“本地连接” [source=]static [addr=]_dos设置ip地址命令