当前位置:  开发笔记 > 编程语言 > 正文

PHP会话数据未保存

如何解决《PHP会话数据未保存》经验,为你挑选了6个好方法。

我有一个"我发誓我没有触摸服务器"的情况.老实说,我没有触及任何PHP脚本.我遇到的问题是PHP数据没有保存在不同的页面或页面刷新.我知道正在创建一个新会话,因为我可以设置一个会话变量(例如$ _SESSION ['foo'] ="foo"并将其打印在同一页面上就好了.但是当我尝试使用同一个变量时在另一个页面上它没有设置!我可以在我的主机服务器上使用任何PHP函数或信息来查看发生了什么?

这是一个示例脚本,目前在我的主机服务器上不起作用:

Refresh

'; ?>

执行页面刷新后,'views'变量永远不会增加.我认为这是他们身边的问题,但我想确保我不是一个完全白痴.

这是我的主机服务器的phpinfo()(PHP版本4.4.7): 替代文字



1> Crackerjack..:

感谢所有有用的信息.事实证明,我的主机更改了服务器并开始使用除/ var/php_sessions之外的其他会话保存路径,这些路径不再存在.一个解决方案就是ini_set(' session.save_path','SOME WRITABLE PATH');在我的所有脚本文件中声明,但这会很痛苦.我与主机交谈,他们明确地将会话路径设置为确实存在的真实路径.希望这可以帮助任何有会话路径麻烦的人.



2> 小智..:

检查以确保您没有将https://与http://混合使用.会话变量不会在安全会话和不安全会话之间流动.



3> Shane N..:

有同样的问题 - 发生在我身上的是我们的服务器管理员将session.cookie_secure布尔值更改为On,这意味着cookie只会通过安全连接发送.由于没有找到cookie,php每次都会创建一个新的会话,因此没有看到会话变量.



4> vIceBerg..:

使用phpinfo()并检查session.*设置.

也许这些信息存储在cookie中,而您的浏览器也不接受cookie,就像那样.

首先检查并返回结果.

你也可以做一个  print_r($_SESSION);转储这个变量,看看内容....

关于你phpinfo(),是session.save_path有效的吗?您的Web服务器是否具有此目录的写入权限?

希望这可以帮助.



5> 小智..:

我有以下问题

的index.php


index2.php


变量$_SESSION['a']未正确设置.然后,我已经改变了index.phpacordingly


我不知道这内部意味着什么,我只是向自己解释会话变量变化不够快:)



6> DGM..:

检查Web服务器是否可以写入会话保存路径.

确保你打开了饼干..(当我把它们关掉来测试时我会忘记)

使用firefox和firebug扩展来查看cookie是否被设置并传回.

并且在一个不相关的说明中,开始查看php5,因为php 4.4.9是php4系列的最后一个.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有