每次页面刷新后,会话无法保留值

3
<?php
session_start();
print_r($_SESSION);
if(empty($_SESSION['a'])) {
    $_SESSION['a'] = mt_rand();
}

print_r($_SESSION);
?>

代码放置在page1.php上,每次页面刷新后变量'a'的值都会被再次设置。以上代码有什么问题?

它在本地工作,但在实际环境中不起作用。 - Mohammad Sharaf Ali
1
你们的生产项目中的PHP INI设置文件怎么样了? - Yehia Awad
你必须使用isset()而不是empty()。 - Shashikant Chauhan
为什么?@shashikant,empty 没有任何问题! - Mihai Matei
1
所有页面都调用了session_start()函数吗? - Yehia Awad
显示剩余12条评论
3个回答

0
问题出在 PHP 文件的编码系统上。我用最新版本的 Notepad++ 打开了 PHP 文件,检查了“编码”,发现它是带有 BOM 的 UTF-8,然后我将其改为纯 UTF-8。嘿,它就像魔法一样奏效了 :-)

0

这是编码问题。请在最新版本的Notepad++中打开您的文件,并将文件设置为UTF-8编码。我希望您的问题能够得到解决 :)


-1

请查看this answer

它说您需要为php/web服务器进程的用户设置适当的读/写权限。

确保/var/lib/session/目录对www-data可读/可写。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接