前言
之前使用ci写一个批量二维码的PHP程序,发现识别过程,打开同站的其他页面卡死,找到是session锁的原因就没怎么处理了,最近在写工具站的时候,因为天气api请求有延迟导致跳转其他页面卡死打不开。
解决
当你在使用session_start()的时候,就会在session.save_path创建一个文件,里面保存序列化的session数据,操作系统会锁住session文件,session锁的作用在于防止
多个同事写入覆盖之前的数据。
你在使用一个页面并使用session时,如果第一个页面卡死 了,导致第二个页面打不开,例如
//test1.php
<?php
session_start();
$_SESSION['test'] = 123;
//session_write_close();
sleep(100);
?>
//test2.php
session_start();
print_r($_SESSION)
?>
我们可以通过使用session_write_close()
来解决。
将session保存后关闭,经常我们在登录等写入session后可以关闭session,而不会导致页面阻塞。
本文作者:风雪,转载时请注明本文出处:https://www.fxnetw.com/62.html
共
0
条评论