我有以下脚本: 的login.php
session_start();
#login procedure (not relevant)
if (login(..)) {
$_SESSION['uid'] = $foo;
$_SESSION['login'] = true;
session_write_close();
var_dump($_SESSION); //=> works properly
header('location: index.php');
exit();
}
的index.php
session_start();
include( 'core/auth.php');
//..
auth.php
session_start();
var_dump($_SESSION); //=> EMPTY (!)
因此,似乎会话变量在重定向期间丢失了。 这是服务器配置问题吗?
任何帮助表示感谢。
答案 0 :(得分:0)
如果您使用'file'作为PHP会话保存处理程序(php.ini中的 session.save_handler 变量),请检查托管PHP进程的用户(可能是apache或nginx)对保存路径具有写权限。( session.save_path )