为了账号安全,请及时绑定邮箱和手机立即绑定

PHP会话数据未保存

PHP会话数据未保存

PHP
森栏 2019-09-24 16:10:58
我有一种“我发誓我没碰服务器”的情况。老实说,我没有碰过任何PHP脚本。我遇到的问题是php数据没有跨不同页面或页面刷新保存。我知道一个新的会话正在正确创建,因为我可以设置一个会话变量(例如$ _SESSION ['foo'] =“ foo”并将其打印回同一页就可以了。但是当我尝试使用相同的变量时在另一页上未设置!我可以在主机服务器上使用任何php函数或信息以查看发生了什么事吗?这是一个示例脚本,目前无法在主机服务器上运行:<?phpsession_start();if(isset($_SESSION['views']))    $_SESSION['views'] = $_SESSION['views']+ 1;else    $_SESSION['views'] = 1;echo "views = ". $_SESSION['views'];echo '<p><a href="page1.php">Refresh</a></p>';?>页面刷新后,“ views”变量永远不会增加。我认为这对他们来说是个问题,但我想确保自己不是一个完全白痴。这是我的主机服务器(PHP版本4.4.7)的phpinfo(): 
查看完整描述

4 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

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


查看完整回答
反对 回复 2019-09-24
?
MMTTMM

TA贡献1869条经验 获得超4个赞

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


查看完整回答
反对 回复 2019-09-24
?
Helenr

TA贡献1780条经验 获得超3个赞

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


查看完整回答
反对 回复 2019-09-24
?
萧十郎

TA贡献1815条经验 获得超11个赞

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

也许信息存储在cookie中,而您的浏览器不接受cookie,诸如此类。

首先检查,然后返回结果。

您还可以执行以下操作  print_r($_SESSION);以转储该变量并查看其内容...。

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

希望这可以帮助。


查看完整回答
反对 回复 2019-09-24
  • 4 回答
  • 0 关注
  • 387 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信