如果PHP引擎已经在服务器上执行脚本的中间,那么对同一脚本的其他同时浏览器请求会发生什么?
我有一个Symfony 2.5应用程序,我有一些奇怪的请求并发问题.
为了演示这个问题,我创建了两个名为/timeand的路由/sleep.控制器的主体非常简单:
timeAction():
time();
sleepAction()
sleep(30);
Run Code Online (Sandbox Code Playgroud)
当我/time在浏览器中请求路由时 - 它会立即响应当前时间戳.但是,当我第一次请求/sleep路线然后/time路线时 - 它只是挂在那里直到sleep()完成.只有在此之后,/time控制器才会响应时间戳.换句话说 - 一个请求阻止所有其他请求.我一开始并没有注意到这一点,但是当你有长期执行计划的请求时 - 它变得明显.
这可能是什么原因?
我还是要自己做一些额外的测试来深入挖掘这种情况.我将尝试更详细地更新问题.