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 相关文章推荐
PHP4实际应用经验篇(1)
Oct 09 PHP
php 小乘法表实现代码
Jul 16 PHP
php 取得瑞年与平年的天数的代码
Aug 10 PHP
PHP SEO优化之URL优化方法
Apr 21 PHP
PHP文件上传原理简单分析
May 29 PHP
php中用加号与用array_merge合并数组的区别深入分析
Jun 03 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
Jul 01 PHP
体育彩票排列三组选三算法分享
Mar 07 PHP
php结合ajax实现赞、顶、踩功能实例
May 12 PHP
php实现通用的信用卡验证类
Mar 24 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
Dec 08 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 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
linux iconv方法的使用
2011/10/01 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
如何离线执行php任务
2017/02/21 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
javascript实现字符串反转的方法
2015/02/05 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
js实现一键复制功能
2017/03/16 Javascript
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
Vue无限滑动周选择日期的组件的示例代码
2018/07/18 Javascript
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
2019/12/06 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
详解python 爬取12306验证码
2019/05/10 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
2019/08/07 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
30行Python代码实现高分辨率图像导航的方法
2020/05/22 Python
心得体会开头
2014/01/01 职场文书
秋游活动策划方案
2014/02/16 职场文书
幼儿教师演讲稿
2014/05/06 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
继续教育个人总结
2015/03/03 职场文书
税务会计岗位职责
2015/04/02 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书
解决jupyter notebook启动后没有token的坑
2021/04/24 Python
动画《平凡职业成就世界最强》宣布制作OVA
2022/04/01 日漫