Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带有sleep()和#x2B;AJAX一个接一个地返回?_Php_Ajax_Sleep - Fatal编程技术网

Php 带有sleep()和#x2B;AJAX一个接一个地返回?

Php 带有sleep()和#x2B;AJAX一个接一个地返回?,php,ajax,sleep,Php,Ajax,Sleep,情况: 使用不同的参数同时对同一个.php文件进行多个AJAX调用 getInfo("keyword1"); getInfo("keyword2"); getInfo("keyword3"); php非常快地做了一些事情,然后休眠2秒钟,然后回显其结果 //do stuff sleep(2); echo $myresult; 预期输出: 0秒:没有 ~2秒:全部3个结果 实际输出: 0秒:没有 ~2秒:1个结果 ~4秒:2个结果 ~6秒:3个结果 为什么呢?为什么在服务器端启动下一个AJAX

情况

使用不同的参数同时对同一个.php文件进行多个AJAX调用

getInfo("keyword1");
getInfo("keyword2");
getInfo("keyword3");
php非常快地做了一些事情,然后休眠2秒钟,然后回显其结果

//do stuff
sleep(2);
echo $myresult;
预期输出:

0秒:没有

~2秒:全部3个结果

实际输出:

0秒:没有

~2秒:1个结果

~4秒:2个结果

~6秒:3个结果

为什么呢?为什么在服务器端启动下一个AJAX调用之前,需要先解决第一个AJAX调用

在PHP中,同一个脚本不能同时执行多次,这是一个问题吗? 如何解决此问题?

找到了解决方案


如果您得到连续的结果,请确保脚本中没有将
会话\u start()
与睡眠一起使用。碰巧找到了答案,但也要感谢Roland Starke的评论。

请确保包含更详细的代码,以便我们能够更好地了解您的情况。我不认为这里需要特定的代码,这是一个关于php中多线程的一般问题,任何带睡眠的代码都可以用于此问题。它可以像
sleep(1)一样简单;回声“你好世界”提供和你的PHP代码你使用的是什么服务器?(例如,来自php的内置web服务器一次只处理一个请求,php中的默认会话处理程序也是阻塞的。)可以使用ajax中的Hello@MiK use cache:false/true来释放会话锁。