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