我有一些$_SESSION
變量是在我的整個網站的正常工作:PHP會話變量不工作的index.php
print_r($_SESSION)
打印
Array ([first_name] => Daniel [last_name] => Jameson [email] => [email protected] [logged_in] => 1)
但是,對於index.php的某些原因所有的變量取消設置:
print_r($_SESSION)
打印
Array ()
如果我重新命名index.php來index2.php他們所有的工作!這意味着,代碼本身就很好,但由於某些原因的index.php文件名/路徑的問題。
我最近被列入白名單的mod_security的塊,可能是這個問題的原因是什麼?可能與文件權限有關?這超出了我的專長......
編輯
如果我嘗試像.../index.php?blah
它按預期工作的URL。認爲這是一個緩存的問題我補充說:
header('Cache-Control: no-store, private, no-cache, must-revalidate'); // HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0, max-stale = 0', false); // HTTP/1.1
header('Pragma: public');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Expires: 0', false);
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header ('Pragma: no-cache');
但仍的index.php會取消$_SESSION
變量。儘管我也清除了緩存。
ok,再次測試,但在index.php後添加如下所示的隨機關鍵字:index.php?anytext來檢查index.php是否緩存 – 2013-07-15 01:05:52
是的,它被緩存!我將如何防止這種情況發生?爲什麼它只發生在index.php而不是其他頁面? –
請用你提出的重複問題中的新信息[編輯]這個問題。重複將很快被移除。 –