[英]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.