thinkphp无法登陆,session跨页后值为空
我已经出现过两次这种问题了,出现了两次就说明第一次没有解决彻底,所以表示thinkphp这个跨页后session为空而无法登陆的问题牵扯很多方面的问题了。经过这两次的研究,我觉得基本上能真正解决它了。
第一次出现的时候,我以为是目录不可写,检查了半天没发现问题,于是各种百度,才发现别人也有遇得类似问题,就是跨页传递session为空。(温馨提示:不喜欢听流水账的可以略过以下两段,直接看下面的解决措施。)我调试了一下程序,将登陆跳转后的页面print_r($_SESSION),果然为空值。最后查找资料说是要把 use_trans_sid 的值改为 1,于是在配置文件中加了一行:'SESSION_OPTIONS' => array('use_trans_sid'=>1),然后再登陆的时候就好了。
第二次,换到另一个环境的时候又出现问题了,于是我又到网上查资料,很可惜,这次找了半天都没有解决,瞬间感慨国内编程这一块的资源匮乏程度还是挺严重的啊,所以我只有自己摸索了。首先排除目录权限和其他一系列问题后,我意识到这次的问题应该也是php设置的问题。于是我把本地的phpinfo和出问题那台虚拟空间的phpinfo输出来,一行一行比较session那块选项。最后我发现有一行配置不一样,如下图:
这里的session.use_only_cookies的值是on,也就是1,而我本地的是off。我马上意识到是这里的问题了,于是又在配置文件中加了一个参数 'SESSION_OPTIONS' => array('use_trans_sid'=>1,'use_only_cookies'=>0),同时还要在thinkphp/Common/functions.php的550行左右加上一句if(isset($name['use_only_cookies'])) ini_set('session.use_only_cookies', $name['use_only_cookies']?1:0); 因为thinkphp默认没有定义这个选项。瞬间,又能登陆了。
经过这两次的问题,最后,代潇瑞博客总结出一下几点导致不能正常登陆、session传值为空的原因:
1. 首先检查存放session的目录是否可写。
2. 如果您用的是空间的话,有些空间文件数目上线也有限制,比如一个200MB的空间,空间单个文件数不能超过45000,当文件满后,就不能在写入文件了,如果你session路径设置在web目录下,也就会影响session无法写入了。
3. 就是将“use_trans_sid”的值设为1,可以在配置文件中加入“SESSION_OPTIONS' => array('use_trans_sid'=>1)”这行代码,让session可以跨页传值。
4. 这个是最不容易发现的,我找了好半天,网上也没有提到这个。也是session的设置选项问题,在第3点的基础上加一个“'use_only_cookies'=>0”选项,即:“SESSION_OPTIONS' => array('use_only_cookies'=>0,'use_trans_sid'=>1)”,同时还要在thinkphp/Common/functions.php的550行左右加上一句if(isset($name['use_only_cookies'])) ini_set('session.use_only_cookies', $name['use_only_cookies']?1:0); 因为thinkphp默认没有定义这个选项。
不能正常登陆、session传值为空的问题大概就是这几个因素了,如果还有其他原因,我会再次的补充完善。如果您有什么不清楚的,也欢迎与代潇瑞博客交流。
文章出自:http://www.daixiaorui.com/read/99.html
转载于:https://www.cnblogs.com/lizhenli/p/6655980.html
thinkphp无法登陆,session跨页后值为空相关推荐
- php session 为空,thinkphp无法登陆,session跨页后值为空
我已经出现过两次这种问题了,出现了两次就说明第一次没有解决彻底,所以表示thinkphp这个跨页后session为空而无法登陆的问题牵扯很多方面的问题了.经过这两次的研究,我觉得基本上能真正解决它了. ...
- think php框架 跨域,ThinkPHP框架实现session跨域问题
这篇文章主要介绍了ThinkPHP框架实现session跨域问题的解决方法,需要的朋友可以参考下 ThinkPHP的session跨域问题很多开发者都遇到过! 其实不管是ThinkPHP还是php本身 ...
- ajax getsession getattribute空,session.getAttribute()得到的值为空解决方法
session.getAttribute()得到的值为空 我是一个java小手,请大手们指点一下我在练习写Jsp的时候遇到的这个问题:我在login.jsp这个页面先用表单吧参数传给自身,然后写了se ...
- php session 跨页失效问题
原因是session.savepath 目录不存在或者没有读写权限 转载于:https://www.cnblogs.com/zenghansen/p/4863451.html
- oracle null 关联,oracle关联查询在ps/sql中正常,但是在C#中fill后值为空
SQL代码如下 with t1 as( select b.is_import,b.active_flag,b.last_upd,b.row_id,b.dsig_date,b.vicont_code,b ...
- 【问题处理】Word表格跨页重复显示标题行失败问题解决
一.问题: 表格跨页显示,需要跨页后能够重复显示标题行,但是遇到了问题:选中表格,勾选跨页显示标题行,修改后表格整个都显示到下一页去了: 1.原表格如下图: 2.修改: 3.修改后: 二.解决: 选择 ...
- Word里表格跨页时自动断开,表格后留有空白部分,未布满整页,如何操作让表格上下页均匀布满?
Word里表格跨页时自动断开,表格后留有空白部分,未布满整页,如何操作让表格上下页均匀布满? 目录 Word里表格跨页时自动断开,表格后留有空白部分,未布满整页,如何操作让表格上下页均匀布满? 1.像 ...
- 解决给word中表格设置“跨页断行”后出现大片空白
解决给word中表格设置"跨页断行"后出现大片空白 在写文档时出现了如下难堪情景,那个字他就是不到下一页去,它不想分开,就硬给它分开. 解决办法:在表格处右击,"表格属性 ...
- excel单元格合并后跨页出现的边框问题?
excel单元格合并后跨页出现的边框问题? 2011-03-20 如何解决单元格合并后跨页出现的边框问题? 单元格合并后,跨页的地方出现下边框没有的问题,一个一个调整太慢了,有什么好方法? 通常来说, ...
最新文章
- UML类图、接口、包、关系
- The 2018 ACM-ICPC Asia Qingdao Regional Contest
- Spring管理事务的若干配置形式
- 用js控制选择CheckBoxList
- oracle服务器找不到怎么解决,简析Oracle数据库常见问题及解决方案
- Django入门 -- 框架操作基本流程
- 下列服务使用的默认端口:ftp,ssh,telnet,dhcp,mail,pop3,smtp,dns,http,sm
- 向mysql中插入时间_Java向mysql中插入时间的方法
- 孟菲斯风格海报设计素材,艺术一点点
- 预习 Delphi 2009 中的新功能 - JSON (二) : 如何在 Delphi 中使用 json
- matlab教程 当当,MATLAB实用教程(第4版)
- 窗口函数:计算环比和同比
- excel多个窗口独立显示_办公软件操作技巧060:如何快速切换excel工作簿
- STM32F103C8T6学习
- Unity-黑暗之魂复刻-手柄接入与配置(Joystick)
- 【场景化解决方案】构建门店通讯录,“门店通”实现零售门店标准化运营
- vba调用python代码_Python替代Excel Vba系列(终):vba中调用Python
- 用Xbee实现Arduino之间的无线通信,远程控制小灯
- Unity游戏开发——新发教你做游戏(一):打开游戏开发新世界的大门
- html 下拉框a标签跳转,html下拉框跳转问题