Windows下Apache + PHP SESSION丟失的解決過程全紀(jì)錄
今天的工作是遷移一個PHP站點(diǎn)至新服務(wù)器。
創(chuàng)建一臺Windows Server 2008虛擬機(jī),并在其上停掉net stop http服務(wù)(避免爭搶80端口),安裝配置 Apache + PHP,遷移站點(diǎn)至新服務(wù)器,站點(diǎn)正常打開,Apache + PHP運(yùn)行正常,連接MySql Server正常,一切都美好,本想著半小時完成的工作,緊接著噩夢開始了。
該站點(diǎn)使用單點(diǎn)登錄,登錄過程包含JavaScript異步操作,包含SOAP調(diào)用Web Service。登錄卻直接跳回了登錄頁面,沒有任何錯誤提示,考慮了以下可能:
1、是賬戶異常?在其他系統(tǒng)測試,賬戶狀態(tài)正常。
2、是JavaScript異步操作失???用IE開發(fā)人員工具跟蹤Javascript返回值,返回值正常。
3、是Web Service調(diào)用失敗?用Fiddler跟蹤Web Service的返回值,表明已經(jīng)驗(yàn)證成功,已經(jīng)完成本地登錄。
反復(fù)跟蹤調(diào)試,才開始懷疑該站點(diǎn)SESSION丟失了:
1、JavaScript異步操作設(shè)置SESSION失敗,難道是因?yàn)橥皆L問和異步訪問的SESSION ID是不同造成的?這在Flash中進(jìn)行異步調(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目錄,因?yàn)榘惭b包里沒有……我的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)文章
PHP+Ajax異步帶進(jìn)度條上傳文件實(shí)例
這篇文章主要介紹了PHP+Ajax異步帶進(jìn)度條上傳文件實(shí)例代碼,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友可以參考下。2016-11-11
Zend?Framework框架db類select查詢器join鏈表使用示例
這篇文章主要介紹了Zend?Framework框架的Db類select查詢器join鏈表使用示例,需要的朋友可以參考下2014-03-03
destoon實(shí)現(xiàn)VIP排名一直在前面排序的方法
這篇文章主要介紹了destoon實(shí)現(xiàn)VIP排名一直在前面排序的方法,在destoon開發(fā)中非常實(shí)用,需要的朋友可以參考下2014-08-08
php在程序中將網(wǎng)頁生成word文檔并提供下載的代碼
在php程序文件中生成內(nèi)容到word文檔中并提供下載功能的實(shí)現(xiàn)代碼,需要的朋友可以參考下2012-10-10

