PHP阻塞问题 高手请进!!!

a.html有三个ajax方法(ajax1,ajax2,ajax3),先后访问a.php,如果ajax1访问a.php程序sleep(15)。请问这样会不会阻塞ajax2,ajax3的访问呢,原因是什么?
a.html代码如下:
vara=1;
varb=1;
varc=1;
functionajax1(){
$.get('a.php?from=a',function(){
$('#ajax1').text(a);
a++;
ajax1();
});
}
functionajax2(){
$.get('a.php?from=b',function(){
$('#ajax2').text(b);
b++;
ajax2();
});
}
functionajax3(){
$.get('a.php?from=c',function(){
$('#ajax3').text(c);
c++;
ajax3();
});
}
functionbeginAjax(){
ajax1();
ajax2();
ajax3();
}
a.php代码如下:
$from=$_GET['from'];
if($from=='a'){
sleep(15);
}
echo1;
长风秋雁
浏览 915回答 2
2回答

交互式爱情

你模拟不就知道了,js直接发三个ajax请求过去顺序是ajax1,ajax2,ajax3分别带参数sleepTime1=10,sleepTime2=5,sleepTime3=2,然后你打开调试network,你看三个ajax哪个先response。

阿晨1998

不一定阻塞.要看具体情况.比如你使用nginx+php-fpm的架构.你每次的http请求由NGINX转发到php-fpm.php-fpm同一时间是只能处理一个请求的.如果你的PHP-FPM进程数大于2就不会阻塞.否则就会没有PHP-FPM进程处理请求而超时.不过这个超时是网络请求层面的.和程序阻塞概念不一样.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript