PHP问题 —— 丢失SESSION
生活随笔
收集整理的這篇文章主要介紹了
PHP问题 —— 丢失SESSION
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.1? 丟失SESSION
1.1.1? 現象
從PHP 5.5.9升級到PHP 5.5.12,應用執行登錄操作后,后續頁面沒有記住登錄成功的狀態。
1.1.2? 原因
經過跟蹤代碼,發現登錄成功后已經將狀態信息寫入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的時候就找不到路徑。
1.1.3? 解決
將上述參數修改為一個實際存在的路徑,重啟Apache服務器即可。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的PHP问题 —— 丢失SESSION的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sublime3快捷键大全
- 下一篇: dpkg的用法