php会话仅在一页上取消设置

php会话仅在一页上取消设置,php,session,Php,Session,我有所有页面都包含以session_start()开头的相同文件。我设置了四个会话变量,我可以在所有页面中导航,并且它们保持设置成功: print\u r($\u SESSION):数组([名字]=>Daniel[姓氏]=>Jameson[电子邮件]=>email@gmail.com[已登录]=>1) 但是,当我转到index.php时,所有变量都未设置!未显示任何错误或警告: `print\r($\u会话):数组() 我已经尝试了一百万种方法,并且缩小了范围: 它没有被注销脚本取消设置 se

我有所有页面都包含以
session_start()开头的相同文件。我设置了四个会话变量,我可以在所有页面中导航,并且它们保持设置成功:

print\u r($\u SESSION):数组([名字]=>Daniel[姓氏]=>Jameson[电子邮件]=>email@gmail.com[已登录]=>1)

但是,当我转到
index.php
时,所有变量都未设置!未显示任何错误或警告:

`print\r($\u会话):数组()

我已经尝试了一百万种方法,并且缩小了范围:

  • 它没有被注销脚本取消设置
  • session_start()之前没有空格
有人提到带有BOM编码页面的UTF-8,我确实有。但我似乎找不到更多关于它的信息

我不能向您展示页面本身,但我可以说index.php中只包含了php,其他页面中也包含了php。没有区别

编辑

更多的测试表明存在某种缓存。即使我从php文件中删除$\u会话变量,会话数组仍在填充中:

print\u r($\u SESSION):数组([名字]=>Daniel[姓氏]=>Jameson[电子邮件]=>email@gmail.com[已登录]=>1)

编辑2


它与index.php文件名本身有关。如果我将文件重命名为index2.php,那么它将按预期工作

为什么你不能展示给我们看?你也在使用session\u write\u close()吗?如果没有,我会先试试……您是否在注销页面中执行了会话_start()?请粘贴注销页面的代码。您是否检查了错误日志?您能否确认index.php实际上与其他文件位于同一个域中?