PHP 脚本与 sleep() + AJAX returns 一个接一个?
PHP script with sleep() + AJAX returns one after another?
情况:
同时对同一个 .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 无法同时执行同一脚本多次的问题吗?
我该如何解决这个问题?
找到解决方案。
如果您得到顺序结果,请确保 session_start()
没有在您的脚本中与睡眠一起使用。偶然找到答案,但也感谢 Roland Starke 的评论。
情况:
同时对同一个 .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 无法同时执行同一脚本多次的问题吗? 我该如何解决这个问题?
找到解决方案。
如果您得到顺序结果,请确保 session_start()
没有在您的脚本中与睡眠一起使用。偶然找到答案,但也感谢 Roland Starke 的评论。