我正在尝试使用Laravel将一些文件上传到S3,它是Filesystem api。
我收到以下错误:
S3Exception in WrappedHttpHandler.php line 159:
Error executing "PutObject" on "https://s3..amazonaws.com/example-bucket/433922_1448096894943.png"; AWS HTTP error: cURL error 6: Could not resolve host: s3.global.amazonaws.com (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
这是我在/config/filesystems.php文件中的设置
's3' => [
'driver' => 's3',
'key' => 'apiKey',
'secret' => 'secretApiKey',
'region' => 'global',
'bucket' => 'example-bucket',
],
如错误中所述,文件系统api无法解析以下域名
s3.global.amazonaws.com
这里的“全球”部分代表该地区,但据我所知,S3不再需要一个地区。
虽然我认为实际的域名应该是这样的
example-bucket.s3.amazonaws.com/
这是我用来调用filesystem api的代码
Storage::disk('s3')->put('new-name.png', file_get_contents( 'path/to/file'))
答案 0 :(得分:1)
必须设置正确的S3区域,在我的例子中是:eu-west-1,这一切都开始工作了。