2011-05-24 28 views
0

在我的代碼當我登錄時,我正在設置會話值,在我的配置文件中, 之後,如果我在任何其他頁面訪問我的會話消失。一個非常奇怪的情況,因爲我在很多項目中運行相同的代碼。在PHP會話值中消失

請幫幫我。

在配置的頂部我使用session_start();

+1

你可以發佈你如何設置和獲取它們嗎? – tradyblix 2011-05-24 06:38:52

+0

你去的另一頁,是否在同一個域(而不是子域)內? – 2011-05-24 07:02:23

回答

0

你必須包括

session_start(); 

截至每個頁面中,你使用會話變量頂部。僅在單個頁面上調用它或在嘗試使用會話變量後調用它是不夠的。

0

您確定您正在運行session_start()

嘗試運行:

var_dump(session_id()); 

如果返回一個空字符串,你session_start()不運行。你可以試試:

@session_start(); 

或做

session_commit(); 

在腳本的結束。

+0

是的,我得到正確的會話Id – Abhijeet 2011-05-24 06:35:36

0

檢查session.save_path的。你在該文件夾中看到會話文件嗎?它可以寫入PHP解釋器嗎?你的磁盤是否有足夠的可用空間用於會話文件?

0

當我遇到這樣的問題時,我會嘗試創建一個簡單的腳本來檢查會話是否保存,如果會話沒有保存,即使是最簡單的腳本,然後我會聯繫我的託管提供商檢查我的會話保存處理程序。一個好的託管服務提供商可能會檢查你的會話保存處理程序,並根據需要更改配置