Php 当同时进入时,它会在防火墙处停止:保安:Symfony2
环境、前提Php 当同时进入时,它会在防火墙处停止:保安:Symfony2,php,symfony,fosuserbundle,Php,Symfony,Fosuserbundle,环境、前提 已安装身份验证功能(安全性)。(配置:防火墙) 已安装FOSUserBundle捆绑包 在登录状态下执行以下处理 有简单的行动 路由:demo\u home\u索引 indexAction() { sleep(60); return // ... } 并且,有一个操作可以读取文件 路由:演示\u主页\u读取 public function readAction() { $file = "/path/to/file/read.txt";
- 已安装身份验证功能(安全性)。(配置:防火墙)
- 已安装FOSUserBundle捆绑包
- 在登录状态下执行以下处理
有简单的行动 路由:demo\u home\u索引
indexAction()
{
sleep(60);
return // ...
}
并且,有一个操作可以读取文件
路由:演示\u主页\u读取
public function readAction()
{
$file = "/path/to/file/read.txt";
$contents = false;
if (file_exists($file)) {
$fp = fopen($file, 'r');
$contents = fgets($fp);
fclose($fp);
}
return new Response(json_encode(array(
'contents' => $contents,
)));
}
因此,首先从UI异步访问索引操作。
同时,它正在处理文件读取的间隔函数
$.ajax({
url : Routing.generate("demo_home_index"),
type : "GET",
dataType : 'json'
})
.done(function(response){
// This isn't returning for 60 seconds for a sleep.
console.log(response);
});
var timer = setInterval(function(){
$.ajax({
url : Routing.generate("demo_home_read"),
type : "GET",
dataType : 'json'
})
.done(function(response){
console.log(response);
});
}, 3000);
这一次,间隔访问在第一次访问完成时挂起。
因此,当第一次访问完成时,其他访问也按顺序完成
在正常访问中也会发生这种情况。(非异步)
在处理索引操作(睡眠)时,即使我访问选项卡浏览器上的其他操作(其他页面),它也会停止。(浏览器将处于加载状态)
在不停止的情况下,它是否能够同时处理
是否可以更改Symfony2的防火墙设置
或者,是否可以更改FOSUserBundle的设置
我现在在一个不知道原因的州
谢谢。基于文件的会话文件可能有问题。基本上,PHP会话管理会锁定会话文件,下一个请求(在同一个会话上)必须等待,直到释放锁