Linux下Session丟失原因


      最近碰到一個問題,把代碼遷移到linux系統下,重新搭建php環境,運行代碼,

在登錄頁面時,不能訪問后台,會返回到登錄頁面,對代碼測試,沒有報任何錯誤,

最后檢查到是跳轉時,session丟失的問題,如何會丟失呢?帶着這個問題,查了大量資料,

發現造成這個原因有這幾種:

   1.session存儲路徑(目錄)不存在,自然就無法生成session臨時文件

   2.session存儲路徑下有沒有權限,如果沒有,也就不可能存儲session數據

   3.能正常存session數據,但session存入后被清空

解決方案:

    首先,在項目根目錄下創建phpinfo.php文件,在文件中寫入phpinfo(),運行此文件,查看頁面,

就可以找到session的存儲路徑,

    其次,進入linux中查找session存儲路徑是否存在,不存在創建存儲目錄,並分配權限,

如果有session存儲路徑,就查看其是否有權限,沒有就分配權限,

   最后,是否是第三個原因,可在phpinfo.php頁面中查找date.timezone是否設置不對,

然后在php.ini配置文件中找到date.timezone進行配置

  我的項目中遇到的就是第一種情況,因而,我就創建存儲目錄,並分配權限,問題就解決了。

希望本編博客對大家能有所幫助。

  最后,提醒下各位,不要在配置文件中找session存儲路徑,上述方法找的session存儲路徑准確,

我花了大量時間才解決問題就是配置文件中的session存儲路徑和上述方法找到的session存儲路徑不同,

所以才一直沒有解決問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM