请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 1686|回复: 5

新版session问题求助

  [复制链接]
发表于 2018-8-16 22:27:25 | 显示全部楼层 |阅读模式
各位大佬,容我问个小白的问题,我看了新版手册上session章节,原话为”新版sp框架中,session_start()默认没有开启,如果需要开启,请把session_start()放在init()或者入口文件内。”我在入口文件index.php加入session_start(),但同一个控制器的不同页面无法调取$_SESSION['name'],$_SESSION应该是全局数组,理论上应该可以调用。

然后我又在该控制器的继承类BaseController里写了个init函数,并加入session_start(),这个时候$_SESSION又可以调用了。
虽然可以使用session了,但还是不明白为什么在入口文件加了没起作用,望各位大佬指教!谢谢!
 楼主| 发表于 2018-8-16 22:45:10 | 显示全部楼层

入口文件

入口文件

 楼主| 发表于 2018-8-16 22:51:27 | 显示全部楼层
貌似我试了下把session_start();加到require上面就可以了,需要在框架文件的前面开启session吗?
发表于 2018-8-17 08:41:44 | 显示全部楼层
这里的index.php是按顺序执行的,require是执行框架以及你的代码的过程,如果在这之后再加上的代码(如session_start)那么是在你的代码执行之后再生效,其实也就是不生效了。
像这类代码,一般建议是放在config.php开头的位置。而init主要是针对单个modules的,所以不一定是全局生效的。
 楼主| 发表于 2018-8-17 08:53:05 | 显示全部楼层
jake 发表于 2018-8-17 08:41
这里的index.php是按顺序执行的,require是执行框架以及你的代码的过程,如果在这之后再加上的代码(如sess ...

谢谢jake大大指导
 楼主| 发表于 2018-8-17 09:00:52 | 显示全部楼层
jake 发表于 2018-8-17 08:41
这里的index.php是按顺序执行的,require是执行框架以及你的代码的过程,如果在这之后再加上的代码(如sess ...

sp源码没认真看,导致发生这种小白问题,真是不好意思,以后还是得认真阅读框架源码,抱歉抱歉
您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2020-5-28 15:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表