台灣最大程式設計社群網站
線上人數
993
 
會員總數:246135
討論主題:189716
歡迎您免費加入會員
討論區列表 >> PHP >> session資料都還在但session id 不見了??
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
session資料都還在但session id 不見了??
價值 : 30 QP  點閱數:790 回應數:4
樓主

studycode
門外漢
0 45
2195 83
發送站內信

我的php_error.log檔常常發現有下面這個訊息:
PHP Warning: session_destroy() [function.session-destroy]: Session object destruction failed in xxxx
是在首頁我要清空session,大部份user都會到這頁面,執行都沒問題,
但每天都會看到幾筆這個訊息,雖然不影響網站的使用,但希望能找出原因。

以下是我在session_destroy()失敗後,讓它記錄相關訊息到log檔:

log檔記錄了四個參數的值,只有第三個session_id()不見了,其它都還在。
請問是什麼狀況會造成session資料還在,session_id卻不見的呢?
不是應該兩個都還在不然就是兩個都不在嗎?怎會只有ID不見了??@@

本篇文章發表於2013-11-15 12:09
1樓
作者回應

studycode
檢舉此回應
咦????不對啊~~
記錄log之前,有先把session_id()的值存到變數$tmp_id,
log檔有$tmp_id,卻沒有session_id()???
那不就表示session_destroy()之前,session_id()還在,
session_destroy()失敗之後,session_id()不在了???

本篇文章回覆於2013-11-15 12:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
你知不知道session_destroy的用處??

session_destroy就是會釋放掉目前的session
它會砍掉該session的文件檔跟session_id。
不過$_SESSION的變數還是會存在目前的記憶體內。

依照上面的說明。想當然爾你的session_id自然就是消失了。
本篇文章回覆於2013-11-15 17:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

studycode
檢舉此回應
原來是我誤解了!!感謝!!

只是,session為何不見? google到好多種狀況,滿麻煩的呀@@
得花點時間查一查程式跟設定!!!
本篇文章回覆於2013-11-18 11:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
一般來說session無需去做session_destroy釋放。
除非有特殊情況。

畢竟我們會想用session,也就是為了要做連動其它頁面上的資料讀取。
而且真有需要釋放的話。那倒不如直接用變數就好了。根本無需session。

反正session本身也有活動週期。時間過了自然就會消失。
本篇文章回覆於2013-11-30 23:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.