session_start()后 对应的session文件是被锁定的,直到当前脚本结束才会解锁。
在锁定期间,令一个进程访问相同session id 要等文件解锁后session_start()才会开始。
解决办法是在 session 设置好数据后调用 session_write_close() 将数据写入文件并且结束session
例如如下代码
php code
session_name("STEST");
session_id("TESTID");
http://www.gaodaima.com/?p=49619php session读写锁问题_php
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 session读写锁问题_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码
微信 赏一包辣条吧~
支付宝 赏一听可乐吧~