AWS SDK PHP S3客户端putObject被卡住
我有一个生成大量XML文件的脚本,并使用以下基本代码将它们逐个上传到S3中:AWS SDK PHP S3客户端putObject被卡住,php,amazon-web-services,amazon-s3,Php,Amazon Web Services,Amazon S3,我有一个生成大量XML文件的脚本,并使用以下基本代码将它们逐个上传到S3中: $this->awsFactory->getS3Client()->putObject([ 'Bucket' => $bucketName, 'Key' => $key, 'Body' => $xml, 'ACL' => 'public-read', '@http' =>
$this->awsFactory->getS3Client()->putObject([
'Bucket' => $bucketName,
'Key' => $key,
'Body' => $xml,
'ACL' => 'public-read',
'@http' => [
'progress' => function ($expectedDl, $dl, $expectedUl, $ul) {
printf(
"%s/%s uploaded.\n",
$ul,
$expectedUl
);
}
]
]);
(由于我的问题,我添加了回调)
有时,随机的,上传被卡住了,而且从不超时。有时它会在五分钟后重新启动,有时不会。
它可以发生在60个文件之后,或者超过150个文件之后,完全是随机的
下面是回调示例:
0/0 uploaded.
0/2128256 uploaded.
16384/2128256 uploaded.
16384/2128256 uploaded.
32768/2128256 uploaded.
32768/2128256 uploaded.
49152/2128256 uploaded.
// ...
// (it start normally)
// And at a moment, the upload stop send datas
// ...
1048576/2128256 uploaded.
1064960/2128256 uploaded.
1064960/2128256 uploaded.
1081344/2128256 uploaded.
1081344/2128256 uploaded.
1097728/2128256 uploaded.
1097728/2128256 uploaded.
1097728/2128256 uploaded.
1097728/2128256 uploaded.
1097728/2128256 uploaded.
1097728/2128256 uploaded.
1097728/2128256 uploaded.
1097728/2128256 uploaded.
1097728/2128256 uploaded.
// ...
它停留在1097728/2128256,我得到了数千条相同的线路
你知道会发生什么吗
谢谢您的帮助:)完整的代码是什么?如何生成xml?可能是因为没有释放大的$xml变量而导致内存问题吗?我监控内存,它只有63.1Mb。$xml字符串长度约为2100000个字符。完整代码是一个Symfony应用程序,xml是用TwighHave呈现的。您是否尝试过使用promise?