2
我注意到我的PHP會話變量的問題。PHP會話變量需要一段時間來註冊變化
如果在一個頁面上設置了一個變量,它不會立即在另一個頁面上顯示。在會話變量的新值出現之前,可能需要重新加載頁面。我將它們發送回腳本並將值記錄到控制檯以查看它。
這是正常的嗎?會話值對於屏幕上顯示的內容至關重要,所以重要的是它具有正確的值。
我應該補充一點,我已經指示瀏覽器不要緩存頁面了。
我注意到我的PHP會話變量的問題。PHP會話變量需要一段時間來註冊變化
如果在一個頁面上設置了一個變量,它不會立即在另一個頁面上顯示。在會話變量的新值出現之前,可能需要重新加載頁面。我將它們發送回腳本並將值記錄到控制檯以查看它。
這是正常的嗎?會話值對於屏幕上顯示的內容至關重要,所以重要的是它具有正確的值。
我應該補充一點,我已經指示瀏覽器不要緩存頁面了。
您是否在設置這些變量後通過標題('Location:')調用重定向?
正如wrikken所建議的,您應該在重定向之前調用session_write_close()。
除此之外,您的重定向之後確保您調用exit;例如
header('Location:newurl.php');
exit;
否則您的原始頁面將繼續處理。
奇怪的行爲。你有沒有試過在沒有其他代碼的情況下測試它? (只設置會話變量並在其他頁面上顯示?) – Pieter
這意味着PHP寫入會話很困難(如果使用基於文件的處理程序,它將是磁盤,這可能表明HD問題,或會話越大越健康)。您使用的是什麼會話處理程序,以及這些會話的典型存儲大小是多少?然而,這也可能意味着在那段時間內原始腳本仍然忙於其他東西,只要完成會話變量就調用'session_write_close()'可以幫助在這種情況下。 – Wrikken