Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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 将文件上载到amazon s3时,前端控制器冻结_Php_Symfony_Amazon S3 - Fatal编程技术网

Php 将文件上载到amazon s3时,前端控制器冻结

Php 将文件上载到amazon s3时,前端控制器冻结,php,symfony,amazon-s3,Php,Symfony,Amazon S3,我有一个Symfony应用程序,它接收一个.zip文件,解压它,然后将所有图像上传到AmazonS3(使用PHPSDK2),效果很好 问题是,当它上传时,我不能再使用前端控制器,它必须等到上传完成。如果我使用app_dev.php上传,在上传完成之前,我无法访问基于该前端控制器的任何url,app.php请求工作正常 有没有什么方法可以绕过这个限制?我用来上传的代码是 $client->putObject(array( 'Bucket' => $this->contai

我有一个Symfony应用程序,它接收一个.zip文件,解压它,然后将所有图像上传到AmazonS3(使用PHPSDK2),效果很好

问题是,当它上传时,我不能再使用前端控制器,它必须等到上传完成。如果我使用app_dev.php上传,在上传完成之前,我无法访问基于该前端控制器的任何url,app.php请求工作正常

有没有什么方法可以绕过这个限制?我用来上传的代码是

$client->putObject(array(
    'Bucket' => $this->container->getParameter('aws_bucket'),
    'Key' => $someKey,
    'Body' => fopen($somePath, 'r+'),
));
一种解决方案是,创建另一个控制器并使用它来处理上传,但它一次只能处理一个上传


提前谢谢。

我想您的会话已锁定。在任何长进程之前关闭会话

$this->get('session')->save();

这不会让用户注销吗?我该如何结束会议?请原谅我的无知,但我对Symfony还不是很有经验。不,它只会编写会话文件并关闭它。我认为应该是$this->get('session')->save();我对symfony2也没有经验,我仍然坚持使用1.4Ah版本,我明白了,现在我检查了,我可以用另一个浏览器很好地访问,看起来这确实是会话锁定。在谷歌上搜索这个主题,我可以找到如何做:“$session->save();session_write_close()”,非常感谢$session->save()应该已经完成session\u write\u close(),这至少在文档中是这样的:)