簡體   English   中英

PHP會話ID會更改每個請求

[英]PHP session ID changes every request

我知道有很多類似的問題,而且我已經花了很多天試圖查找解決方案,但仍然無法解決它,所以我在這里。 會話ID似乎在每個請求上都發生了變化(頁面之間,每次刷新等)。 會話變量似乎沒有持久到下一頁,因此我嘗試獲取會話ID(嘗試打印並在FF上使用Live HTTP Headers附加組件),並且每次都不同。

事實是,在我暫時放棄該項目之前,它已經運行了大約一年,但是當我嘗試重新使用它時,它不再運行了。 我什至嘗試創建一個非常簡單的頁面,該頁面僅打印上一頁設置的會話變量,但仍然沒有運氣。 我確保在session_start()之前沒有打印任何內容,檢查了存儲在session.save_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>

testing.php:

<?php
session_start();

echo session_id();
print "\nHello, ";
print $_SESSION['hello'];
?>

這是我在實時HTTP標頭上看到的:

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

我看到Cookie設置為立即過期-可以嗎? 如果是的話,我該怎么做才能解決?

我有什么想念的嗎?

嘗試將其放在session_start之前?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM