Windows下Apache + PHP SESSION丢失的解决过程全纪录
今天的工作是迁移一个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有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 调试 – 为什么gflags无法启动,当我启动时它会立即飞溅并立
- windows – 列出nodejs中的分区
- 在Windows批处理中打印段落
- windows – 你怎么知道w3wp.exe在做什么? (或如何诊断性能
- 有没有办法使用Windows sql的Windows身份验证显式指定u / p
- 如何在Windows中为Visual Studio项目创建Debian安装包?
- 如何在windows azure中创建表格?
- windows-server-2008 – IIS可以从GPU核心创建线程吗?
- 如何为Windows获取预构建的* debug *版本的Python库(例如Py
- active-directory – Windows 7 Trust问题
- windows-installer – Installshield – 需要删除
- win10 spark+scala+eclipse+sbt 安装配置
- windows-server-2008-r2 – 带vmware转换器的P2V
- ntfs – 如何删除名称末尾带有空格的文件和隐藏属
- 在Windows上编译Clang
- 无法在Windows 10 Professional中安装自定义inf.
- windows-server-2008-r2 – 图形故障 – 作为远程
- batch-file – 如何在Windows批处理文件中将双引
- windows – vs 2010:错误LNK2028:未解析的令牌
- windows – 有哪些更好的备份软件工具可用?