php session锁永不锁定思路
session
php
锁定
session_start
永不
思路
写入
直接
name
value
编程进阶笔记
发布日期
2022-09-30
更新日期
2022-09-30
阅读次数 94
文章字数 495
有时候不知怎么的页面卡死了,后面排查是php的session锁定导致,于是想了个解决方案。
页面加载时,首先 session_start() ,然后直接关闭session,即 session_write_close();
对 php 7以上版本,可以直接
session_start([
'cookie_lifetime' => 86400,
'read_and_close' => true,
]);
但是仅仅这样设置,会有大问题,也就是导致 session 不可再次写入。
我们需要补充一个方法,也就是封装写入 session 的方法。
由原来的 $_SESSION[ $name ] = $value ,改为
<?php
function set_session($name, $value){
session_start();
$_SESSION[$name] = $value;
session_write_close();
}
因为写入 session前,必须 session_start() ,而想要不锁定session,则应该 close ,那么除了第一次读取外,当且仅当写入session才需要session_start并且写完后直接close。
多次使用 session_start 和 write_close 没有问题,是正常操作。
文章作者: 朱丰华
文章链接: https://smart.52dixiaowo.com/blog/post-103.html
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。
session
php
锁定
session_start
永不
思路
写入
直接
name
value
发表评论
相关推荐