php页面跳转session cookie丢失导致不能登录等问题的解决方法
程序员文章站
2022-04-14 18:34:56
...
thinkphp开发的一个项目,登录成功后又跳转到登录页面,在提交信息后输出session都是正常的,没有问题,但是页面跳转后,session出现丢失现象,无法正常完成登陆。
通过查找资料,发现原来是bom头的原因。受COOKIE送出机制的限制,在这些文件开头已经有BOM的文件中,COOKIE无法送出(因为在COOKIE送出前PHP已经送出了文件头),所以登入和登出功能失效。一切依赖COOKIE、SESSION实现的功能全部无效。
正确的处理方法是去掉某些文件的bom,一般情况是在入口文件出现的bom问题,我处理的方法是用Notepad++打开文件,格式选择以UTF-8无bom格式编码,然后保存,重新上传到服务器即可。但一定要注意,去掉bom上传到服务器之前需要把服务器上源文件删掉,上传覆盖不能去掉bom。
去掉bom后,session cookie丢失问题解决。