首頁  >  文章  >  後端開發  >  php session跳轉失效怎麼辦

php session跳轉失效怎麼辦

藏色散人
藏色散人原創
2020-08-10 09:46:302834瀏覽

php session跳轉失效的解決不過:1、查看「session.save_path」的存取權並進行修改;2、修改「session.use_trans_sid」和「session.use_only_cookies」的設定問題。

php session跳轉失效怎麼辦

推薦:《PHP影片教學

    一般出現跨頁面session失效的情況,基本上都跟php的設定有關:

    1、session.save_path存取權限不夠,或是路徑有問題;

    2、session.use_trans_sid和

session.use_only_cookies

的設定問題。

    查看php.ini:

    

    發現路徑正常,且檔案中也準確記錄session值,因此

session.save_path沒問題。

    接著檢視

session.use_trans_sid,發現:

    

    

    解釋一下,session的傳遞有兩種方式,一種是基於cookie傳遞,另一種是基於URL傳遞。

    cookie傳遞即透過cookie將

session訊息保存在客戶端,之後在傳送請求時會自動帶上cookie訊息給伺服器,以便伺服器讀取。這是常用的方式。

    URL傳遞是在點擊跳轉的連結後自動加入session訊息,如a.php?sessid=...,之後在新頁面自動$ _GET['sessid']來讀取。這個過程是自動且隱藏的,跟用cookie傳遞一樣不知不覺。

    而session.use_trans_sid表示是否使用URL方式傳遞session,所以如果session.use_trans_sid值為0,而使用者瀏覽器又禁用了cookie,就會出現session跨頁面失效的狀況。

    但將session.use_trans_sid設為1後,session還是失效,就要檢查session.use_only_cookies,發現:

##    

#    session.use_only_cookies表示是否只用cookie傳遞session,所以如果設定為1,即使

session.use_trans_sid=1,還是不會用到URL傳遞。 #    因此要將session. use_trans_sid=1,session.use_only_cookies=0,才能開啟URL傳遞方式。

########################

以上是php session跳轉失效怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn