PHP会话ID会更改每个请求

PHP会话ID会更改每个请求,php,session,Php,Session,我知道有很多类似的问题,我花了几天的时间试图找到解决方案,但仍然无法解决,所以我来了。 似乎每次请求(页面之间、每次刷新等)时会话ID都会更改。会话变量似乎没有持续到下一页,所以我尝试获取会话ID(尝试打印&使用FF上的livehttpheaders插件),每次都不同 问题是,在我暂时放弃这个项目之前,它大约在一年前就开始工作了,但当我试图重新开始时,它已经不工作了。我甚至尝试创建一个非常简单的页面,只打印上一页上设置的会话变量,但仍然没有成功。我确保在session\u start()之前没有

我知道有很多类似的问题,我花了几天的时间试图找到解决方案,但仍然无法解决,所以我来了。 似乎每次请求(页面之间、每次刷新等)时会话ID都会更改。会话变量似乎没有持续到下一页,所以我尝试获取会话ID(尝试打印&使用FF上的livehttpheaders插件),每次都不同

问题是,在我暂时放弃这个项目之前,它大约在一年前就开始工作了,但当我试图重新开始时,它已经不工作了。我甚至尝试创建一个非常简单的页面,只打印上一页上设置的会话变量,但仍然没有成功。我确保在
session\u start()
之前没有打印任何内容,检查了存储在
session.save\u path
中的路径的权限,但无法理解为什么它仍然在每个请求上生成新的会话ID。我怀疑配置有什么问题,但无法确定它可能是什么

以下是我用于测试的简单页面:

index.php:

<?php
session_start(); 

  $_SESSION['hello'] = "TESTING";

?>
<!DOCTYPE html>
<html>
<head>
  <title>Testing</title>
</head>
<body>
  Hello!
  <a href="testing.php">click me</a>
</body>
</html>
我看到cookie设置为立即过期-可能是这样吗?如果是,我需要做什么来修复它


我遗漏了什么

试着在会话开始前放置此项

ini_set('session.gc_maxlifetime', 30*60); // expires in 30 minutes

运行
phpinfo()
并检查脚本末尾的会话设置stry put
session_write_close()
。@MichałPrzybyłowicz仍然没有做到:(谢谢!@Dagon我不太确定要在它们中查找什么,但我会看看我能从中得到什么,谢谢你。刚刚尝试过,还是一样的东西:(尽管如此,谢谢!在您放入此文件之前,文件开头没有字符?这确实必须是您文件中的第一件事是的,我检查了多次以确保在会话_start()之前没有任何字符。)。。
Set-Cookie: PHPSESSID=some_id; path=/; domain=.DOMAIN.EXT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
ini_set('session.gc_maxlifetime', 30*60); // expires in 30 minutes