91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決PHP編程中的Session阻塞問題

發布時間:2021-07-12 11:33:40 來源:億速云 閱讀:214 作者:小新 欄目:開發技術

小編給大家分享一下如何解決PHP編程中的Session阻塞問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體如下:

使用session過程中,在開啟session后,同一瀏覽器,執行同一程序,不同頁面會被鎖。不同瀏覽器不會出現這種情況。

疑問:是不是session_start導致了阻塞?

于是,我寫了幾個頁面測試了一下,發現是session導致了阻塞,而其他兩種情況不會造成阻塞。

查了下PHP的Bug列表,發現有人提出了這個問題:

Description:
------------
Calling session_start() appears to wait until other scripts have exited

that are using the same session. My guess is the 1st request locks the
session file for exclusive use, and the second request blocks until it
can open it.

PHP官方的回復是:

Thank you for taking the time to write to us, but this is not a bug.This is expected, the session file is locked to avoid corruption.

結合了PHP的Session機制,找到了阻塞的原因。由于PHP的Session信息是寫入文件的,1個客戶端占有1個session文件。因此,當 session_start被調用的時候,該文件是被鎖住的,而且是以讀寫模式鎖住的(因為程序中可能要修改session的值),這樣,第2次調用 session_start的時候就被阻塞了。

最簡解決方法:

查了PHP的手冊,發現一個session_write_close函數,作用是Write session data and end session,也就是寫session的數據,同時關閉這個session。因此,我們可以在用完session之后,調用這個函數關閉session 文件即可解除鎖定。一般,session是用來記錄用戶身份信息的,以便PHP進行身份認證,因此完全可以將session的讀寫放在頁面剛開始執行的時 候,在執行完以后,馬上調用session_write_close函數即可。

以上是“如何解決PHP編程中的Session阻塞問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郓城县| 绵阳市| 嘉黎县| 肥乡县| 苍溪县| 偃师市| 安吉县| 鹿泉市| 延长县| 云浮市| 赤城县| 八宿县| 建昌县| 白玉县| 大城县| 沂南县| 乃东县| 晋中市| 馆陶县| 安仁县| 蕉岭县| 沙坪坝区| 府谷县| 扶风县| 西畴县| 宜君县| 错那县| 明溪县| 三河市| 迁安市| 德江县| 北安市| 克什克腾旗| 女性| 榕江县| 新干县| 阿瓦提县| 西乡县| 铅山县| 马尔康县| 外汇|