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
使用sockets:从新闻组中获取文章(三)
Oct 09 PHP
php 字符转义 注意事项
May 27 PHP
window+nginx+php环境配置 附配置搭配说明
Dec 29 PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 PHP
简单的php数据库操作类代码(增,删,改,查)
Apr 08 PHP
php session_start()出错原因分析及解决方法
Oct 28 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
常见php数据文件缓存类汇总
Dec 05 PHP
php的api数据接口书写实例(推荐)
Sep 22 PHP
php实现留言板功能(代码详解)
Mar 28 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
Apr 15 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静态新闻列表自动生成代码
2007/06/14 PHP
php 远程图片保存到本地的函数类
2008/12/08 PHP
PHP form 表单传参明细研究
2009/07/17 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
PHP getallheaders无法获取自定义头(headers)的问题
2016/03/23 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
javascript函数定义的几种区别小结
2014/01/06 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
Vue-Router2.X多种路由实现方式总结
2018/02/09 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
2018/10/30 Javascript
Node.js EventEmmitter事件监听器用法实例分析
2019/01/07 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
python list中append()与extend()用法分享
2013/03/24 Python
Python中的模块和包概念介绍
2015/04/13 Python
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
Python 实现链表实例代码
2017/04/07 Python
Python编程实现的图片识别功能示例
2017/08/03 Python
Django组件content-type使用方法详解
2019/07/19 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
详解python变量与数据类型
2020/08/25 Python
python实现磁盘日志清理的示例
2020/11/05 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
美国批发零售网站:GearXS
2016/07/26 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
2015年档案管理工作总结
2015/04/08 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
使用Python解决图表与画布的间距问题
2022/04/11 Python