2010-12-21 73 views
4

我在會話中遇到了一些困難。PHP session_id()null

在我的本地MAMP測試服務器,如果我這樣做:

在session_start(); echo session_id();

我看到一個很好看的會話ID。

如果然而,我在我的web服務器上同樣的事情,所有我可以從session_id中得到的是'null'。測試從session_start()返回並使用會話一切正常,但session_id()$ SID和$ PHPSESSID都爲空。

這是隱藏的目的是爲了增加安全性嗎?我希望能夠通過PHP調用允許Flash更改購物車,並使用瀏覽器反映購物車(存儲在會話中)。

+0

如果你做了session_start(),會發生什麼?後續代碼var_dump($ _ SESSION); – 2010-12-21 22:23:48

+0

有效會話變量: array(1){[「product」] =>&array(1){[0] => string(21)「frame-13-1-260-237-18」}} 那麼session_id()仍然會報告空... – 2010-12-21 22:34:52

回答

4

確保session_start()的返回值爲TRUE。

確保在腳本向瀏覽器輸出任何內容之前調用session_start()。

檢查apache是​​否具有對會話路徑的寫入權限。我的是/ tmp

1

我有類似的問題(session_id()返回"",我希望這與您的問題有關)。我關閉了所有相應的選項卡並刪除了所有相關的cookie,然後重新打開了該網站,現在session_id()返回一個漂亮的散列值。