Windows下Apache + PHP SESSION丟失的解決過程全紀(jì)錄
今天的工作是遷移一個PHP站點至新服務(wù)器。
創(chuàng)建一臺Windows Server 2008虛擬機,并在其上停掉net stop http服務(wù)(避免爭搶80端口),安裝配置 Apache + PHP,遷移站點至新服務(wù)器,站點正常打開,Apache + PHP運行正常,連接MySql Server正常,一切都美好,本想著半小時完成的工作,緊接著噩夢開始了。
該站點使用單點登錄,登錄過程包含JavaScript異步操作,包含SOAP調(diào)用Web Service。登錄卻直接跳回了登錄頁面,沒有任何錯誤提示,考慮了以下可能:
1、是賬戶異常?在其他系統(tǒng)測試,賬戶狀態(tài)正常。
2、是JavaScript異步操作失?。坑肐E開發(fā)人員工具跟蹤Javascript返回值,返回值正常。
3、是Web Service調(diào)用失?。坑肍iddler跟蹤Web Service的返回值,表明已經(jīng)驗證成功,已經(jīng)完成本地登錄。
反復(fù)跟蹤調(diào)試,才開始懷疑該站點SESSION丟失了:
1、JavaScript異步操作設(shè)置SESSION失敗,難道是因為同步訪問和異步訪問的SESSION ID是不同造成的?這在Flash中進行異步調(diào)用才出現(xiàn)過,JavaScript也會嗎?輸出同步訪問和異步訪問的SESSION ID值是一樣的。
2、建2個PHP測試頁面,在一個頁面中設(shè)置SESSION,在另一個頁面中卻讀不到。檢查php.ini相關(guān)設(shè)置,看起來是正常的,查看session.save_path = "C:/php/tmp"路徑,卻果真沒有SESSION相關(guān)的文件,設(shè)置連tmp目錄都沒有。
結(jié)局令人啼笑皆非,沒有tmp目錄,PHP無法寫入SESSION文件,自然SESSION就丟失了。為什么沒有tmp目錄,因為安裝包里沒有……我的3小時。
以上所述就是本文的全部內(nèi)容了,希望能夠?qū)Υ蠹覍W(xué)習(xí)php有所幫助。
- C# SESSION丟失問題的解決辦法
- Yii框架用戶登錄session丟失問題解決方法
- php頁面跳轉(zhuǎn)session cookie丟失導(dǎo)致不能登錄等問題的解決方法
- 解決uploadify使用時session發(fā)生丟失問題的方法
- Session 失效的原因匯總及解決丟失辦法
- Session丟失的解決辦法小結(jié)
- iis7中session丟失的解決方法小結(jié)
- uploadify在Firefox下丟失session問題的解決方法
- ASP.NET在IE10中無法判斷用戶已登入及Session丟失問題解決方法
- 解決window.location.href之后session丟失的問題
相關(guān)文章
centos 7系統(tǒng)下安裝laravel運行環(huán)境的步驟詳解
Laravel框架對于開發(fā)網(wǎng)頁應(yīng)用來說是一個絕好的的工具,最近正好又在學(xué)習(xí)linux系統(tǒng),所以下面這篇文章主要給大家介紹了在centos 7系統(tǒng)下安裝laravel運行環(huán)境的步驟,需要的朋友可以參考借鑒,下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08PHP中ID設(shè)置自增后不連續(xù)的原因分析及解決辦法
這篇文章主要介紹了PHP中ID設(shè)置自增后不連續(xù)的原因分析及解決辦法的相關(guān)資料,需要的朋友可以參考下2016-08-08php 實現(xiàn)301重定向跳轉(zhuǎn)實例代碼
本文主要介紹php 實現(xiàn)301重定向跳轉(zhuǎn),通過實例代碼讓大家更好的理解重定向的方法,有需要的小伙伴可以參考下2016-07-07Laravel5.1 框架數(shù)據(jù)庫查詢構(gòu)建器用法實例詳解
這篇文章主要介紹了Laravel5.1 框架數(shù)據(jù)庫查詢構(gòu)建器用法,結(jié)合實例形式詳細分析了laravel5.1框架查詢構(gòu)造器相關(guān)原理、使用技巧與操作注意事項,需要的朋友可以參考下2020-01-01