我有以下情况
File1.php启动会话并设置$ _SESSION ['foo'] ='Hello';
File2.php启动会话并使用$ _SESSION ['foo']而没有问题
File3.php启动会话并使用$ _SESSION ['foo']而没有任何问题 在File3生成的输出中有以下内容:
<img id="graph" src="Graph.php" alt="Graph" />
现在,当Graph.php文件运行时,它会启动会话,但$ _SESSION ['foo']不存在。
之后,如果我刷新File3,$ _SESSION ['foo']就不再存在了。
如果我回到File2,$ _SESSION ['foo']就会丢失。
我将问题指向了Graph.php中的session_start()行。如果我完全清空Graph.php并将session_start()行放入其中,则会出现问题。如果我仍然使用空文件删除session_start(),问题就出现了。
我真的很困惑。有人可以帮忙吗?
感谢。
答案 0 :(得分:0)
听起来你的Graph.php正在用一个新的空会话覆盖会话cookie。是否有代码包含在Graph.php中跳过的“普通”PHP文件的开头?可能是您正在使用ini_set
更改此跳过的启动代码中的某些会话选项(例如会话文件目录'session.save_path'
)。