位置: 编程技术 - 正文

PHP中Session可能会引起并发问题(php的session)

编辑:rootadmin

推荐整理分享PHP中Session可能会引起并发问题(php的session),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php中session使用,php中session的作用,php中session使用,php中的session,php中的session,php session_start,php session_id,php中的session,内容如对您有帮助,希望把文章链接给更多的朋友!

在进行Web应用程序开发的时候,人们经常会用Session存储数据。但可能有人不知道,在PHP中,Session使用不当可能会引起并发问题。印度医疗行业软件解决方案提供商Plus Technologies高级工程师Kishan Gor在个人博客上对这个问题进行了阐释。

PHP中Session可能会引起并发问题(php的session)

  如果同一个客户端并发发送多个请求,而每个请求都使用了Session,那么PHP Session锁的存在会导致服务器串行响应这些请求,而不是并行。这是因为在默认情况下,PHP使用文件存储Session数据。对于每一个新的Session,PHP会创建一个文件,并持续向其中写入数据。所以,每次调用session_start()方法,就会打开Session文件,并取得文件的独占锁。这样,如果服务器脚本正在处理一个请求,而客户端又发送了一个同样需要使用Session的请求,那么后一个请求会阻塞,直至前一个请求处理完成释放了文件上的独占锁。不过,这只限于来自同一个客户端的多个请求,也就是说,来自一个客户端的请求并不会阻塞另一个客户端的请求。

   如果脚本很短,这通常没有问题。但如果脚本运行时间比较长,那就可能会产生问题。在现代Web应用程序开发中,有一个非常常见的情况,就是使用AJAX技术在同一个页面内发送多个请求获取数据。如果这些请求都需要使用Session,那么第一个请求到达服务器后会取得Session锁,其它请求就必须等待,所有请求将串行处理,即使它们彼此之间并没有依赖关系。这将大大增加页面的响应时间。

 有一个方法可以避免这个问题,就是在使用完Session以后立即调用session_write_close()方法关闭Session。这样Session锁就会释放,即使当前脚本还在等在处理。需要注意的是,调用该方法后,当前脚本就不能进一步操作Session了。

  需要特别指出的是,本文所陈述的问题和观点只适用于使用session_start()方法的PHP默认Session管理模式。比如,有用户就指出,如果将应用程序托管在AWS EC2上,并正确配置DynamoDB,Session锁定问题就不会出现。

标签: php的session

本文链接地址:https://www.jiuchutong.com/biancheng/284517.html 转载请保留说明!

上一篇:PHP批量去除BOM头代码分享(php去除空格和换行符)

下一篇:Linux操作系统安装LAMP环境(linux操作系统安装包)

  • 土地增值税计入税金及附加吗
  • 出口退税进项税额转出怎么申报
  • 年底对账
  • 固定资产本期发生额怎么算
  • 材料卸车费包含在哪里
  • 申报个税需要扣除公积金和社保吗
  • 经纪代理服务怎么做分录
  • 计提个人社会保险费
  • 持有待售资产固定资产 要计提折旧吗
  • 个人独资交什么税?
  • 雇员个人所得税
  • 税收筹划要注意哪些问题
  • 退税发票勾选后增值税附表二
  • 资本公积盈余公积区别
  • 招商引资政府返税政策不兑现
  • 小企业 企业所得税
  • 新开公司第一个月个税零申报,但是有发工资
  • 外币投入资本不产生汇兑损益
  • 企业收到票据时应以什么入账
  • 超额用电罚款应由谁缴纳
  • 住宿费专票报销怎么做账
  • 知道发票代码怎么查询发票号码
  • 代发保险款收入
  • 借主营业务成本表示什么
  • 企业社会贡献总结怎么写
  • 固定资产怎么录入系统
  • 或有事项确认预计负债的分录
  • 主营业务成本和库存商品区别
  • 稳定用工社保补贴和岗位补贴多久发下来
  • 人力资源服务收入计入什么科目
  • 收到厂家商品的会计分录
  • 命令行wifi
  • 民间非营利组织会计账务处理
  • 留抵增值税可以冲营业外支出吗
  • zhp.exe是什么进程
  • 油气勘探支出包括
  • 怎么计算土地增值税金额
  • 框架的弊端和作用
  • 个体户缴纳的税有哪些
  • 稽查补缴以前年度的社保
  • html前端开发教程
  • 利润表中本期金额栏各项目应根据损益类账户的什么填列
  • 个人能去税务局开劳务费发票吗
  • 小规模纳税人附加税会计分录
  • mysql中desc什么意思
  • 发票商品分类
  • 增值税买票卖票
  • sql server 递归
  • SQL一条语句统计记录总数及各状态数
  • 银行存款为负数可以结账吗
  • 税务局不予受理的依据
  • 金税四期查到了怎么办
  • 企业所得税税款可以税前扣除吗
  • 房产交易缴税
  • 购买设备分期付款凭证怎么做
  • 退回的个税手续费如何账务处理
  • 注册公司的流程及费用标准
  • mysql清空表内容
  • sqlserver优化的几种方法
  • navicat远程连接oracle
  • 注册表c盘桌面路径改为d盘
  • ubuntu虚拟机怎么改用户名
  • Ubuntu下VirtualBox的vdi文件克隆方法
  • ubuntu好看的字体
  • u启动开机启动快捷键
  • macbook imessage
  • windows无法配置在此硬件上运行
  • linux系统崩溃了怎么办
  • 安装完xp系统直接黑屏怎么办
  • android系统架构图
  • JavaScript创建数量n由用户决定的数组
  • shell脚本怎么进入指定目录
  • 在浏览器中打开是什么意思
  • Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent错误的记录。
  • jquery js区别
  • 贵州省网上税务局要那个版本
  • 大排量车船税怎么减免
  • 虚假纳税申报的法律责任
  • 中国十大经济排名
  • 印尼贸易政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设