[英]PHP session_id( ) null
我在會議上遇到了一些困難。
在我的本地 MAMP 測試服務器上,如果我這樣做:
session_start(); echo session_id();
我得到了一個漂亮的會話 ID。
但是,如果我在我的網絡服務器上做同樣的事情,我可以從 session_id 返回的所有內容是“空”。 測試 session_start( ) 的返回值並使用 session 一切正常,但 session_id( ) $SID 和 $PHPSESSID 都為空。
這是為了增加安全性而故意隱藏的嗎? 我希望能夠允許 Flash 通過 PHP 調用更改購物車,並使用瀏覽器反映購物車(存儲在會話中)。
確保 session_start() 的返回值為 TRUE。
確保在腳本向瀏覽器輸出任何內容之前調用 session_start()。
檢查 apache 是否具有對會話路徑的寫訪問權限。 我的是/tmp
我有一個類似的問題( session_id()
返回""
,我希望這與您的問題有關)。 我關閉了所有相應的選項卡並刪除了所有相關的 cookie,然后重新打開了該站點,現在session_id()
返回了一個漂亮的哈希值。
也許是一種邊緣情況,但對我來說,我通過測試session_start()
的返回值來解決它,結果表明它是假的。
問題原來是實際文件的編碼。 在會話開始之前,它發出了一些不可見的東西,即使它看起來什么都沒有。
我通過將相關文件復制到純文本編輯器(我使用https://www.editpad.org/ ),刪除源文件,重新創建空文件,粘貼我通過編輯板運行的代碼並重新上傳來解決它.
之后,一切都開始正常填充。
我在 Windows 上有一個類似的問題,對我來說這是由ini設置session.save_path定義了無效路徑引起的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.