位置: 编程技术 - 正文

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操作系统安装包)

  • 关税完税价格计算消费税公式
  • 增值税交多少怎么查询
  • 企业弥补以前年度亏损顺序
  • 注册公司认缴出资方式怎么选
  • 房租收据样式
  • 一般纳税人软件销售税率
  • 房地产企业营改增前都交那些税
  • 房地产开发企业销售自行开发的房地产项目
  • 个人所得税筹划节税
  • 货物及劳务税目
  • 转增股如何计算资本公积金?
  • 房产税计税依据房产原值怎么算
  • 应交税费计提是借方还是贷方
  • 加速折旧税收优惠
  • 股东投资款印花税多少
  • 合伙企业如何计算缴纳个人所得税
  • 企业申报表填写错误
  • 企业所得税年报错了怎么更正
  • 出口退税成本核算
  • 残保金和工会经费
  • 汇算清缴账务
  • 进项是普票销项是专票,怎么交税
  • 税控设备指什么
  • 企业借款利息收入企业所得税
  • vue获取当前页面请求头信息
  • 其他应收款对应的会计科目
  • 往公户存钱怎么存最划算
  • 苹果手机记事本提醒如何设置
  • 生产车间发生的间接费用会计科目
  • php 用户和密码
  • 固定资产入账流程图
  • 增值税发票没认证 可以重新开吗
  • 逆回购利息计算公式
  • php处理并发有哪些技术
  • php批量删除文件
  • 个人独资企业如何做账
  • vue axios.all
  • linux 常用命令大全及其详解
  • 自动化测试三年规划
  • testdisk安装方法
  • php导出表格
  • php封装app打包
  • chage -l命令
  • flex:4
  • 设计服务的成本票可以暂估吗
  • 航天远程清卡
  • photoshop虚化局部
  • mysql需要转义的特殊字符
  • 计提工资 个人所得税
  • 个体户怎么计算养老金
  • 成立业主委员会申请书
  • 金税四期功能
  • 生产成本明细科目有哪些内容
  • 残保金提取是什么意思
  • 个体户也需要纳税吗
  • 作废的发票也要交印花税吗
  • 城建税退税分录怎么做
  • 注册资本认缴与注册登记实操
  • 建筑工程人工费调整
  • 工资扣员工的罚款入什么科目
  • 每个月房租
  • 发票边上的孔有什么用
  • 咨询费的支出范围
  • 冲销以前年度多计提的折旧
  • 有奖销售增值税处理
  • 发票专用章需要备案吗?
  • 什么是权责发生会计处理基础
  • sql语句去除重复值
  • jquery常用的事件绑定函数有哪些
  • 存储过程怎么理解
  • windows mobile
  • 适配器模型
  • 计算机中丢失opencv_core249.dll
  • shell脚本用法
  • 查看shell脚本
  • node运行js文件
  • JavaScript 事件对象介绍
  • 水资源税征收标准2022
  • 山东省梁山县属于什么市?
  • 主要领导负责人
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设