【发布时间】:2019-11-25 08:28:01
【问题描述】:
情况:
同时对同一个.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 的问题,不能同时执行同一脚本多次? 我该如何解决这个问题?
【问题讨论】:
-
确保包含更详细的代码,以便我们更了解您的情况。
-
我不认为这里需要特定的代码,这是一个关于 php 中多线程的一般问题,任何带睡眠的代码都可以用于该问题。可以简单到
sleep(1); echo 'Hello world'; -
提供你的 PHP 代码
-
您使用的是什么服务器? (例如 php 的内置 web 服务器一次只处理一个请求,php 中的默认会话处理程序也是阻塞的。)
-
Hello @MiK 在 ajax 中使用缓存:false/true