php session读写锁问题
程序员文章站
2022-06-13 09:40:06
...
session_start()后 对应的session文件是被锁定的,直到当前脚本结束才会解锁。
在锁定期间,令一个进程访问相同session id 要等文件解锁后session_start()才会开始。
解决办法是在 session 设置好数据后调用 session_write_close() 将数据写入文件并且结束session
在锁定期间,令一个进程访问相同session id 要等文件解锁后session_start()才会开始。
解决办法是在 session 设置好数据后调用 session_write_close() 将数据写入文件并且结束session
例如如下代码
PHP code
session_name("STEST");
session_id("TESTID");
session_start();
$_SESSION["count"]=0;
session_write_close();
sleep(10);
echo "success";
?>
如果不加入session_write_close();
并发3个进程访问该页面,第一个进程执行10秒 第二个执行20秒 第三个执行30秒。
加入session_write_close()后
并发3个进程会同时在10秒后执行完成
推荐阅读
-
php中IE7 iframe session丢失问题解决方案
-
php session无法保存问题解决办法
-
PHP session_start()很慢问题分析与解决办法
-
解析php中session的实现原理以及大网站应用应注意的问题_PHP
-
昨天写支付接口时遇到支付接口返回数据接收地址,session数据丢失(或者说失效)的问题,session数据丢失_PHP教程
-
php中IE7 iframe session丢失问题解决方案_PHP教程
-
PHP session常见问题集锦及解决办法总结
-
解决php中Cannot send session cache limiter 的问题的方法_PHP教程
-
php session存入redis,会有并发一致性的问题?redis 写不是原子性的吗?
-
PHP用户登录以后session和Cooike的有关问题