• 當前位置:首頁 > IT技術 > Web編程 > 正文

    php session 讀寫鎖
    2021-09-29 14:51:52

    php session 讀寫鎖

    • 想想一個例子,功能:
    1. 點擊頁面中一個按鈕,ajax執行php,php中用session記錄執行到哪一步。
    2. 使用ajax輪詢另一個php,獲取session中數據,輸出執行到哪一步。

    ?

    • 執行時發現,輪詢的結果: 并不是每一步返回,而是等待10秒后直接返回complete。

    當執行session_start()后,session會被鎖住。直到頁面執行完成。

    因此在頁面執行其間,對sesssion進行寫操作,只會保存在內存中,并不會寫入session文件。

    而對session進行讀取,則需要等待,直到session鎖解開才能讀取到。

    ?

    • 解決方法

    我們可以使用session_write_close()把數據寫入session文件并結束session進程。這樣就不需要等待頁面執行完成,也能獲取到執行到哪一步。

    但這樣有個問題,就是執行完sesssion_write_close()后,對session的任何寫操作都不起作用。因為session進程已經結束。

    因此需要再寫session時,在前面加上session_start()

    ?

    • 備注:
    • session_start?— Start new or resume existing session?

      ?

    • session_write_close?— Write session data and end session?

    ?

    本文摘自 :https://www.cnblogs.com/

    開通會員,享受整站包年服務
    国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码