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的日期与时间函数技巧
Apr 24 PHP
.htaccess文件保护实例讲解
Feb 06 PHP
php下载excel无法打开的解决方法
Dec 24 PHP
PHP中nowdoc和heredoc使用需要注意的一点
Mar 21 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
May 04 PHP
详解 PHP加密解密字符串函数附源码下载
Dec 18 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
Mar 21 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
PHP反射机制原理与用法详解
Feb 15 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
Jan 15 PHP
简单的php购物车代码
Jun 05 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 30 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设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
Linux下PHP加速器APC的安装与配置笔记
2014/10/24 PHP
php将access数据库转换到mysql数据库的方法
2014/12/24 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
2015/03/19 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
Jquery 表格合并的问题分享
2011/09/17 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
2017/11/02 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
在vue项目中使用sass语法问题
2019/07/18 Javascript
vue实现文字加密功能
2019/09/27 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
python django集成cas验证系统
2014/07/14 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
自考自我鉴定范文
2013/10/30 职场文书
迟到检讨书800字
2014/01/13 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
汇报材料怎么写
2014/12/30 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
施工安全协议书
2016/03/22 职场文书