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 相关文章推荐
如何使用PHP获取网络上文件
Oct 09 PHP
php生成随机数或者字符串的代码
Sep 05 PHP
基于PHP文件操作的详解
Jun 05 PHP
preg_match_all使用心得分享
Jan 31 PHP
PHP捕获Fatal error错误的方法
Jun 11 PHP
php中file_get_contents与curl性能比较分析
Nov 08 PHP
php实现使用正则将文本中的网址转换成链接标签
Dec 03 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
May 12 PHP
PHP实现链表的定义与反转功能示例
Jun 09 PHP
用PHP的反射实现委托模式的讲解
Mar 22 PHP
laravel框架使用极光推送消息操作示例
Feb 15 PHP
PHP替换Word中变量并导出PDF图片的实现方法
Nov 26 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性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
页面利用渐进式JPEG来提升用户体验度
2014/12/01 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
js function使用心得
2010/05/10 Javascript
理解JavaScript中的对象 推荐
2011/01/09 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
2015/01/22 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
JavaScript继承学习笔记【新手必看】
2016/05/10 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
2016/07/28 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
Angular4学习笔记之新建项目的方法
2017/07/18 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
在Vue中使用Select选择器拼接label的操作
2020/10/22 Javascript
如何使用python爬取csdn博客访问量
2016/02/14 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
Django网络框架之HelloDjango项目创建教程
2019/06/06 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
工厂厂长的职责
2013/12/12 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
经营场所使用证明
2015/06/19 职场文书
写给同事的离职感言
2015/08/04 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS
Python实战之OpenCV实现猫脸检测
2021/06/26 Python