本文实例讲述了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程序设计有所帮助。
# PHP
# Session
# 阻塞
# php 多进程编程父进程的阻塞与非阻塞实例分析
# 简单介绍PHP非阻塞模式
# PHP实现非阻塞模式的方法分析
# php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
# PHP实现的CURL非阻塞调用类
# 关于PHP中协程和阻塞的一些理解与思考
# php基于session锁防止阻塞请求的方法分析
# 深入解析PHP中的(伪)多线程与多进程
# 深入探究PHP的多进程编程方法
# php多进程中的阻塞与非阻塞操作实例分析
# 解决方法
# 程序设计
# 锁住
# 操作技巧
# 几个
# 放在
# 相关内容
# 两种
# 这个问题
# 提出了
# 感兴趣
# 我们可以
# 给大家
# 这种情况
# 写了
# 刚开始
# 更多关于
# 所述
# 用完
# 该文件
相关文章:
公司网站设计制作厂家,怎么创建自己的一个网站?
如何快速搭建高效WAP手机网站吸引移动用户?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
制作网站外包平台,自动化接单网站有哪些?
红河网站制作公司,红河事业单位身份证如何上传?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
建站之星后台密码遗忘或太弱?如何重置与强化?
南宁网站建设制作定制,南宁网站建设可以定制吗?
网站制作服务平台,有什么网站可以发布本地服务信息?
简单实现Android文件上传
江苏网站制作公司有哪些,江苏书法考级官方网站?
如何自定义建站之星模板颜色并下载新样式?
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何制作算命网站,怎么注册算命网站?
如何解决ASP生成WAP建站中文乱码问题?
c# 服务器GC和工作站GC的区别和设置
广州营销型建站服务商推荐:技术优势与SEO优化解析
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
建站之星如何优化SEO以实现高效排名?
免费网站制作appp,免费制作app哪个平台好?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
如何快速生成凡客建站的专业级图册?
建站之星如何快速解决建站难题?
如何在Golang中使用replace替换模块_指定本地或远程路径
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
建站之星如何助力网站排名飙升?揭秘高效技巧
郑州企业网站制作公司,郑州招聘网站有哪些?
微信小程序 五星评分(包括半颗星评分)实例代码
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
建站之星导航菜单设置与功能模块配置全攻略
jQuery 常见小例汇总
如何选择适合PHP云建站的开源框架?
学校为何禁止电信移动建设网站?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
实现虚拟支付需哪些建站技术支撑?
SQL查询语句优化的实用方法总结
如何通过VPS建站实现广告与增值服务盈利?
如何用免费手机建站系统零基础打造专业网站?
如何规划企业建站流程的关键步骤?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
英语简历制作免费网站推荐,如何将简历翻译成英文?
如何快速搭建高效简练网站?
详解jQuery停止动画——stop()方法的使用
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
PHP 500报错的快速解决方法
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
在线教育网站制作平台,山西立德教育官网?
*请认真填写需求信息,我们会在24小时内与您取得联系。