AWS SDK PHP S3客户端putObject被卡住

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' =>

我有一个生成大量XML文件的脚本,并使用以下基本代码将它们逐个上传到S3中:

    $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?