【发布时间】:2019-08-07 23:04:35
【问题描述】:
我在尝试使用 PHP SDK 将 4MB 的文件上传到 S3 存储桶时遇到问题。这在我的流浪环境中运行良好。但是当我在 EC2 生产服务器上尝试时,当我要上传 2MB 大小的文件时,它会给出以下错误。但是可以毫无问题地上传小文件。有人可以帮我解决这个问题吗?
我在两种环境中都使用 nginx。
$s3 = \App::make('aws')->createClient('s3');
$name= time() . $file->getClientOriginalName();
$resp = $s3->putObject(array(
'Bucket' => 'xxxxxx',
'Key' => $folder.'/' . $name,
'ACL' => 'public-read',
'Body' => new Stream(fopen(realpath($file->getPathName()), 'r'))
));
if ($resp['@metadata']['statusCode'] == 200) {
return [
"file_path"=>$resp['ObjectURL'],
"s3_key"=>$folder.'/' . $name
];
}else{
return false;
}
在“https://xxxxxxx.amazonaws.com/documents/1564900266slides.zip”上执行“PutObject”时出错; AWS HTTP 错误:客户端错误:
PUT https://xxxxxxx.amazonaws.com/documents/1564900266slides.zip导致400 Bad Request响应:RequestTimeoutYour 与服务器的套接字连接 wa(截断...) RequestTimeout(客户端):您与服务器的套接字连接未在其中读取或写入超时时间。空闲连接将被关闭。 - RequestTimeout 您与服务器的套接字连接在超时期限内没有被读取或写入。
【问题讨论】:
标签: php amazon-web-services nginx laravel-5 amazon-s3