在我的代碼當我登錄時,我正在設置會話值,在我的配置文件中, 之後,如果我在任何其他頁面訪問我的會話消失。一個非常奇怪的情況,因爲我在很多項目中運行相同的代碼。在PHP會話值中消失
請幫幫我。
在配置的頂部我使用session_start();
在我的代碼當我登錄時,我正在設置會話值,在我的配置文件中, 之後,如果我在任何其他頁面訪問我的會話消失。一個非常奇怪的情況,因爲我在很多項目中運行相同的代碼。在PHP會話值中消失
請幫幫我。
在配置的頂部我使用session_start();
你必須包括
session_start();
截至每個頁面中,你使用會話變量頂部。僅在單個頁面上調用它或在嘗試使用會話變量後調用它是不夠的。
您確定您正在運行session_start()
?
嘗試運行:
var_dump(session_id());
如果返回一個空字符串,你session_start()
不運行。你可以試試:
@session_start();
或做
session_commit();
在腳本的結束。
是的,我得到正確的會話Id – Abhijeet 2011-05-24 06:35:36
嘗試在你的php.ini這個PHP Session Variables
檢查session.save_path的。你在該文件夾中看到會話文件嗎?它可以寫入PHP解釋器嗎?你的磁盤是否有足夠的可用空間用於會話文件?
當我遇到這樣的問題時,我會嘗試創建一個簡單的腳本來檢查會話是否保存,如果會話沒有保存,即使是最簡單的腳本,然後我會聯繫我的託管提供商檢查我的會話保存處理程序。一個好的託管服務提供商可能會檢查你的會話保存處理程序,並根據需要更改配置
你可以發佈你如何設置和獲取它們嗎? – tradyblix 2011-05-24 06:38:52
你去的另一頁,是否在同一個域(而不是子域)內? – 2011-05-24 07:02:23