位置: 编程技术 - 正文

PHP编程中的Session阻塞问题与解决方法分析(php编程中的_横线表示什么)

编辑:rootadmin

推荐整理分享PHP编程中的Session阻塞问题与解决方法分析(php编程中的_横线表示什么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php编程中的右箭头怎么打字,php编程中的_横线表示什么,php编程中的_横线表示什么,phpseessid,phpshe,phpseessid,php sse,php编程中的_横线表示什么,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了PHP编程中的Session阻塞问题与解决方法。分享给大家供大家参考,具体如下:

使用session过程中,在开启session后,同一浏览器,执行同一程序,不同页面会被锁。不同浏览器不会出现这种情况。

疑问:是不是session_start导致了阻塞?

于是,我写了几个页面测试了一下,发现是session导致了阻塞,而其他两种情况不会造成阻塞。

查了下PHP的Bug列表,发现有人提出了这个问题:

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

PHP编程中的Session阻塞问题与解决方法分析(php编程中的_横线表示什么)

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基于session锁防止阻塞请求的方法。分享给大家供大家参考,具体如下:说明:这是一篇参考国外网站

PHP实现找出有序数组中绝对值最小的数算法分析 本文实例讲述了PHP实现找出有序数组中绝对值最小的数算法。分享给大家供大家参考,具体如下:问题:一个有序数组,值有可能有负值,也有可能没

Eclipse PHPEclipse 配置的具体步骤 最近偶来兴致趁着有些时间,看了看php的书。说到php就不得不提php的开发环境了,一般的都是采用apache做服务器、mysql做数据库,再加上php组合成一个完

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

上一篇:PHP基于IMAP收取邮件的方法示例(php imap函数)

下一篇:php基于session锁防止阻塞请求的方法分析(php session_start)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

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

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络