前兩天玩了一下雲邊的輕博客,覺得東西比較小巧,自己也想弄個東西,就直接放到服務器裡裝了,結果啊!!!$_SESSION丟失了好幾天~
情況描述:
$_SESSION只能在當前的訪問裡有效,第二次請求就像之前執行過www.45it.com session_destroy()
一樣,$_SESSION裡的內容會沒了,就一個
array();
;
下面是我對這個問題的查找目標路線:
1. session_start(): 想到每一次訪問裡都能用$_SESSION來寫值存值,馬上就撤掉了;
2. session過期:但發現在代碼裡這麼一行
代碼如下ini_set('session.gc_maxlifetime',$lefttime);
,所以也不是這個原因;
3. cookie禁用了:查看了一上浏覽器裡的cookie 的儲存,也沒有什麼被禁用,程序裡寫的值在,用打印了一下$_COOKIES都在,也排除了;
4. speedphp裡的問題:網上找了一遍相關的關鍵字也沒有發現類似的情況,多的就是講在一次寫入裡丟失了一個$_SESSION變量,跟我這個情況不一樣,然後又自己加了行session_start();跟其它的一些調試變量及打印,但還是沒有結果,於也排除;
5. 求助網友:發了一條求助信息“session只能在當前訪問裡有效,第二次訪問時感覺就像執行了session_destroy(),之前所有內容都沒有了,會是哪些原因?求思路…”,啊那個叫“秦淮公子(234427967) 20:32:45 磁盤不能寫了”回了果麼一條,立馬去/etc下打開php.ini看session的存放路徑,一路cd進去,神速“ll”,啊!!!!當時就無語了啊,看著
代碼如下drwxrwx--- 2 root apache xxxx ....
當時就無語了。
代碼如下chmod 777 session
後,糾結解除~
結論:SESSION丟失,記得先從目錄權限開始