新聞中心
小編給大家分享一下PHP如何解決丟失SESSION的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1.1 丟失SESSION
1.1.1 現(xiàn)象
從PHP 5.5.9升級到PHP 5.5.12,應(yīng)用執(zhí)行登錄操作后,后續(xù)頁面沒有記住登錄成功的狀態(tài)。
1.1.2 原因
經(jīng)過跟蹤代碼,發(fā)現(xiàn)登錄成功后已經(jīng)將狀態(tài)信息寫入Session,但是頁面重定向到首頁后,Session不見了,導(dǎo)致后臺以為是未登錄用戶訪問。
Session為什么會不見?網(wǎng)上給出若干方法,但是仔細分析后均不適用本案例。因為同樣的代碼,在其它服務(wù)器上運行就是正常的,只有在本地升級后的服務(wù)器上不正常,因此應(yīng)該是PHP升級導(dǎo)致。
從其它服務(wù)器上拷貝一份PHP.INI文件與本機的進行對比,發(fā)現(xiàn)如下參數(shù):
session.save_path = "D:/PHPDevEnv/PHP 5.5.9/temp" |
紅色部分配置就是問題的關(guān)鍵所在。原來使用PHP 5.5.9時,PHP的目錄名稱中包含了版本號,后來升級到PHP 5.5.12,考慮到以后還有可能升級PHP,目錄名稱中帶有版本號不利于后續(xù)升級,于是將目錄中的版本號去掉了,同時修改了配置文件中的若干相關(guān)配置,但是沒有完整搜索PHP 5.5.9這個字符串,導(dǎo)致上述參數(shù)沒有修改。于是PHP在保存Session的時候就找不到路徑。
1.1.3 解決
將上述參數(shù)修改為一個實際存在的路徑,重啟Apache服務(wù)器即可。
以上是“PHP如何解決丟失SESSION的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文名稱:PHP如何解決丟失SESSION的問題-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://ef60e0e.cn/article/cesgpd.html