您好,登錄后才能下訂單哦!
小編給大家分享一下PHP如何解決丟失SESSION的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
從PHP 5.5.9升級到PHP 5.5.12,應用執行登錄操作后,后續頁面沒有記住登錄成功的狀態。
經過跟蹤代碼,發現登錄成功后已經將狀態信息寫入Session,但是頁面重定向到首頁后,Session不見了,導致后臺以為是未登錄用戶訪問。
Session為什么會不見?網上給出若干方法,但是仔細分析后均不適用本案例。因為同樣的代碼,在其它服務器上運行就是正常的,只有在本地升級后的服務器上不正常,因此應該是PHP升級導致。
從其它服務器上拷貝一份PHP.INI文件與本機的進行對比,發現如下參數:
session.save_path = "D:/PHPDevEnv/PHP 5.5.9/temp" |
紅色部分配置就是問題的關鍵所在。原來使用PHP 5.5.9時,PHP的目錄名稱中包含了版本號,后來升級到PHP 5.5.12,考慮到以后還有可能升級PHP,目錄名稱中帶有版本號不利于后續升級,于是將目錄中的版本號去掉了,同時修改了配置文件中的若干相關配置,但是沒有完整搜索PHP 5.5.9這個字符串,導致上述參數沒有修改。于是PHP在保存Session的時候就找不到路徑。
將上述參數修改為一個實際存在的路徑,重啟Apache服務器即可。
以上是“PHP如何解決丟失SESSION的問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。