thinkphp中session和cookie无效的解决方法


Posted in PHP onDecember 19, 2014

本文实例讲述了thinkphp中session和cookie无效的解决方法。分享给大家供大家参考。具体分析如下:

问题描述:

在本地调试时session和cookie是用没有问题的,我是用session保存当前登录账户的信息,上传服务器之后,发现跳转之后session不复存在,为什么呢?在当前页面输出session是存在的.

遇到这个问题三天了,因为是自学没有老师可以请教,身边也没有几个是弄PHP的,所以真的是很悲剧,于是乎百度,而百度上很多人都是屁话连天,没有什么可以解决问题的,经过三天的修改终于找到了根源,原来是因为绝大多数支持thinkphp的服务器是linux系统,而我们的编程基本都还是windows,这样就会出现bom头这个问题,而PHP对于bom头不能解析,而直接拿下来了,导致session和cookie不能用.

解决方法:

什么是bom头?在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑utf-8编码后执行就会出错的原因了.

去掉bom头的办法,简单的是下面两种:

1、editplus去BOM头的方法

编辑器调整为UTF8编码格式后,保存的文件前面会多出一串隐藏的字符(也即是BOM),用于编辑器识别这个文件是否是以UTF8编码.

运行Editplus,点击工具,选择首选项,选中文件,UTF-8标识选择 总是删除签名,然后对PHP文件编辑和保存后的PHP文件就是不带BOM的了.

2、ultraedit去除bom头办法

打开文件后,另存为选项的编码格式里选择(utf-8 无bom头),确定就ok了,怎么样,去掉bom头很简单吧.

再来一段议论utf8的BOM信息的,BOM是指php文件本身的存储方式为带BOM的UTF-8,普通页面的中文乱码方式一般不是由这个原因导致的.

header("Content-type: text/html; charset=utf-8");

这句话控制html输出页面的编码方式,BOM只有在WINDOWS下采用“记事本”存储为UTF-8时才会有,这个可以用WINHEX把开始的2个字节删掉.

在dreamweaver里面编码设置里面可以设置是否带BOM,一般只要php输出的不是图片(GDI Stream),BOM都不会导致问题,GDI Stream如果开头有了额外的 字符就会显示为 红叉.

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
Php做的端口嗅探器--可以指定网站和端口
Oct 09 PHP
PHP 操作文件的一些FAQ总结
Feb 12 PHP
php 变量定义方法
Jun 14 PHP
一个图片地址分解程序(用于PHP小偷程序)
Aug 23 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
Nov 05 PHP
PHP使用memcache缓存技术提高响应速度的方法
Dec 26 PHP
php中异常处理方法小结
Jan 09 PHP
PHP-FPM之Chroot执行环境详解
Aug 03 PHP
浅谈mysql_query()函数的返回值问题
Sep 05 PHP
PHP实现的多维数组排序算法分析
Feb 10 PHP
Yii2结合Workerman的websocket示例详解
Sep 10 PHP
利用ajax+php实现商品价格计算
Mar 31 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 #PHP
thinkphp3.2.2实现生成多张缩略图的方法
Dec 19 #PHP
9个经典的PHP代码片段分享
Dec 18 #PHP
PHP程序员必须清楚的问题汇总
Dec 18 #PHP
8个PHP程序员常用的功能汇总
Dec 18 #PHP
ThinkPHP打开验证码页面显示乱码的解决方法
Dec 18 #PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 #PHP
You might like
PHP提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
2017/02/08 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
浅析PHP开发规范
2018/02/05 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
深入理解JavaScript系列(16) 闭包(Closures)
2012/04/12 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
Vue代码分割懒加载的实现方法
2017/11/23 Javascript
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
微信小程序实现时间进度条功能
2020/11/17 Javascript
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
python+Django+apache的配置方法详解
2016/06/01 Python
Python实现公历(阳历)转农历(阴历)的方法示例
2017/08/22 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
使用python进行文本预处理和提取特征的实例
2018/06/05 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
Linux面试题LINUX系统类
2014/11/19 面试题
高中毕业生自我鉴定例文
2013/12/29 职场文书
五年级音乐教学反思
2014/02/06 职场文书
共产党员公开承诺书
2014/03/25 职场文书
公休请假条
2014/04/11 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
小学运动会入场词
2015/07/18 职场文书
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android