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&MYSQL服务器配置说明
Oct 09 PHP
php中的数组操作函数整理
Aug 18 PHP
精通php的十大要点(上)
Feb 04 PHP
php递归创建和删除文件夹的代码小结
Apr 13 PHP
解析php中的escape函数
Jun 29 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
Jul 22 PHP
php获取textarea的值并处理回车换行的方法
Oct 20 PHP
PHP往XML中添加节点的方法
Mar 12 PHP
php验证手机号码
Nov 11 PHP
thinkphp关于简单的权限判定方法
Apr 03 PHP
实例讲解PHP验证邮箱是否合格
Jan 28 PHP
深入解析PHP底层机制及相关原理
Dec 11 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
打造计数器DIY三步曲(下)
2006/10/09 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
php cli换行示例
2014/04/22 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
Prototype使用指南之range.js
2007/01/10 Javascript
Ajax::prototype 源码解读
2007/01/22 Javascript
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
基于VUE.JS的移动端框架Mint UI的使用
2017/10/11 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
python 时间戳与格式化时间的转化实现代码
2016/03/23 Python
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
Python如何将字符串转换为日期
2020/07/31 Python
tensorflow与numpy的版本兼容性问题的解决
2021/01/08 Python
css3 矩阵的使用详解
2018/03/20 HTML / CSS
html5理解head_动力节点Java学院整理
2017/07/13 HTML / CSS
荷兰本土平价百货:HEMA
2017/10/23 全球购物
新课培训心得体会
2014/09/03 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
公司授权委托书范文
2014/09/21 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
《所见》教学反思
2016/02/23 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
SQL注入详解及防范方法
2021/12/06 MySQL
Java字符串逆序方法详情
2022/03/21 Java/Android
Python实现为PDF去除水印的示例代码
2022/04/03 Python