成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? PHP編程中的Session阻塞問題與解決方法分析
全站頭部文字 我要出現在這里
PHP編程中的Session阻塞問題與解決方法分析 790 2023-12-08   

本文實例講述了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相關內容感興趣的讀者可查看本站專題:《PHP中cookie用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。


主站蜘蛛池模板: 情人电影网| 娟子个人资料 简历| 别姬| 隐藏的秘密电影免费观看全集| 月光奏鸣曲第三乐章钢琴谱| 朱丽安·摩尔| 米莎巴顿| 又见阿郎电视剧免费观看| 林莉娴| 美国舞男| 孙嘉欣| 伤残等级1-10标准图| 八仙过海 电影| 程小西| 香谱72图解高清大图及解释| 德国老太性视频播放| 优越法外电视剧免费观看| 豪乳| 肖央喜剧电影《情圣》| 龙虎少年队2| 八年级下册英语外研版| 电影《kiskisan》在线观看| 尤勇个人资料简介简历| 精神空虚,贪图享乐的整改措施| 蒙古小男孩唱哭全场| teach me墨西哥电影免费观看| 董璇惊艳写真| 只园| 婷婷电影网| 祈今朝剧情介绍| 风月电视剧免费观看剧情| 精卫填海演员表| 标准体重| 湖北卫视在线直播| 服务群众方面整改成效| 权志龙壁纸| 热带雨林电影| 预备党员思想汇报1500字| 电影《exotica》完整版观看| 少妇的诱惑电影| 教师政治学习笔记|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103