Windows下Apache + PHP SESSION丢失的解决过程全纪录


Posted in PHP onApril 07, 2015

今天的工作是迁移一个PHP站点至新服务器。

创建一台Windows Server 2008虚拟机,并在其上停掉net stop http服务(避免争抢80端口),安装配置 Apache + PHP,迁移站点至新服务器,站点正常打开,Apache + PHP运行正常,连接MySql Server正常,一切都美好,本想着半小时完成的工作,紧接着噩梦开始了。

该站点使用单点登录,登录过程包含JavaScript异步操作,包含SOAP调用Web Service。登录却直接跳回了登录页面,没有任何错误提示,考虑了以下可能:

1、是账户异常?在其他系统测试,账户状态正常。

2、是JavaScript异步操作失败?用IE开发人员工具跟踪Javascript返回值,返回值正常。

3、是Web Service调用失败?用Fiddler跟踪Web Service的返回值,表明已经验证成功,已经完成本地登录。

反复跟踪调试,才开始怀疑该站点SESSION丢失了:

1、JavaScript异步操作设置SESSION失败,难道是因为同步访问和异步访问的SESSION ID是不同造成的?这在Flash中进行异步调用才出现过,JavaScript也会吗?输出同步访问和异步访问的SESSION ID值是一样的。

2、建2个PHP测试页面,在一个页面中设置SESSION,在另一个页面中却读不到。检查php.ini相关设置,看起来是正常的,查看session.save_path = "C:/php/tmp"路径,却果真没有SESSION相关的文件,设置连tmp目录都没有。

结局令人啼笑皆非,没有tmp目录,PHP无法写入SESSION文件,自然SESSION就丢失了。为什么没有tmp目录,因为安装包里没有……我的3小时。

以上所述就是本文的全部内容了,希望能够对大家学习php有所帮助。

PHP 相关文章推荐
PHP5中MVC结构学习
Oct 09 PHP
ip签名探针
Oct 09 PHP
WINXP下apache+php4+mysql
Nov 25 PHP
介绍一些PHP判断变量的函数
Apr 24 PHP
php对大文件进行读取操作的实现代码
Jan 23 PHP
从刷票了解获得客户端IP的方法
Sep 21 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
Yii2主题(Theme)用法详解
Jul 23 PHP
php自定义函数转换html标签示例
Sep 29 PHP
php使用正则表达式获取字符串中的URL
Dec 29 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 PHP
php修改文件上传限制方法汇总
Apr 07 #PHP
windows下安装php的memcache模块的方法
Apr 07 #PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 #PHP
php获取网页里所有图片并存入数组的方法
Apr 06 #PHP
经典PHP加密解密函数Authcode()修复版代码
Apr 05 #PHP
php简单实现快速排序的方法
Apr 04 #PHP
php获取网页上所有链接的方法
Apr 03 #PHP
You might like
PHP 开发工具
2006/12/06 PHP
php定时计划任务的实现方法详解
2013/06/06 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
JS实现自动阅读单词(有道单词本添加功能)
2016/11/14 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
Jquery把获取到的input值转换成json
2017/05/15 jQuery
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
Vuex 入门教程
2018/01/10 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
五句话帮你轻松搞定js原型链
2020/12/09 Javascript
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
[03:06]3分钟带你回顾DOTA2完美盛典&完美大师赛
2017/12/06 DOTA
跟老齐学Python之数据类型总结
2014/09/24 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
python如何修改文件时间属性
2021/02/05 Python
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
关于旅游的活动方案
2014/08/15 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
给领导敬酒词
2015/08/12 职场文书
合同范本之电脑出租
2019/08/13 职场文书
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL