使用Laravel 5.1将文件上载到S3失败

时间:2015-11-21 09:31:51

标签: php laravel amazon-s3

我正在尝试使用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'))

1 个答案:

答案 0 :(得分:1)

必须设置正确的S3区域,在我的例子中是:eu-west-1,这一切都开始工作了。