我的页面都包含以 .开头的相同文件session_start();
。我设置了四个会话变量,我可以浏览所有页面并且它们保持成功设置:
print_r($_SESSION): Array ( [first_name] => Daniel [last_name] => Jameson [email] => email@gmail.com [logged_in] => 1 )
但是,当我去index.php
所有变量都未设置!没有显示错误或警告:
`print_r($_SESSION): Array ( )
我已经尝试了一百万件事,并且缩小了范围:
- 注销脚本没有取消它
- 之前没有空格
session_start();
有人提到了带有 BOM 编码页面的 UTF-8,我确实有。但我似乎找不到更多关于它的信息。
我无法向您展示页面本身,但我可以说 index.php 上唯一的 php 包含在内,并且也包含在其他页面中。没有区别!
编辑
更多测试表明正在进行某种缓存。即使我从 php 文件中删除了 $_SESSION 变量,仍然会填充 SESSION 数组:
print_r($_SESSION): Array ( [first_name] => Daniel [last_name] => Jameson [email] => email@gmail.com [logged_in] => 1 )
编辑 2
它与 index.php 文件名本身有关。如果我将文件重命名为 index2.php,那么它会按预期工作。