首頁 > 後端開發 > php教程 > 一個session失效的偽命題

一個session失效的偽命題

巴扎黑
發布: 2023-03-03 15:34:01
原創
1232 人瀏覽過

最近遇到一個問題,一個ajax請求會呼叫已存在的session,再依據session做一些處理。發現session有時候有生效有時候沒生效。 

session是儲存到db的,所以不存在存取不同伺服器導致session不一致的問題。 
頁面使用了varnish,一開始以為是varnish 快取了頁面,導致請求沒有執行到php,而是使用了http快取。後來清除了varnish,依然有這個問題。 

我又清理了下請求的頁面,發現頁面的header的簡繁體鏈接用的是html後綴,這個可能是緩存HTML,導致點了這個header的link生成的頁面實際上並不會生成session。而這個快取頁面的ajax自然就沒有session可以取得了。 

好。解決方法來了: 
1 將session的參數帶入ajax,每次請求都帶上,這樣就不用依賴session來處理。 
2 將html改為php。但如果用了varnish或其他快取技術,也有可能會導致上述問題。因此,最好還是用第一個辦法,不依賴session。


相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板