标头后 PHP 会话被破坏/丢失

新手上路,请多包涵

我有一个脚本,在使用 header() 重定向到 / 之前设置一些会话值。

我读过很多关于 $_SESSION 变量在 header() 之后被销毁/丢失的帖子,即使在我实现这个之后:

 // set session here

session_regenerate_id(true);
session_write_close();
header("Location: /");

session_start() 设置在正确的位置,有人知道我可能遗漏了什么吗?

在 index.php 页面上我有这个:

 session_start();
print_r($_SESSION);

// outputs nothing :'(

代码比较复杂,就不贴了,只贴几个。

原文由 Ben Everard 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 447
2 个回答

为了结束这个问题,我们得出结论,这是服务器配置的问题,考虑到主机以此类问题而闻名,这不足为奇。

原文由 Ben Everard 发布,翻译遵循 CC BY-SA 2.5 许可协议

由于使用位置标头,我从未见过任何与会话相关的问题 - 你确定你在两个页面上都调用了 session_start 吗?


嗯…在您添加上面的 session_start 位之前,这个答案更有意义,并提到您确定您正在使用 session_start 的事实。 :-)

原文由 John Parker 发布,翻译遵循 CC BY-SA 2.5 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏