我正在使用 Laravel 和它的文件系统 API 尝试上传一些文件到 S3。
但是我遇到了以下错误:
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
这里的“global”部分代表地区,但据我所知,S3不再需要指定地区。
我认为实际的域名应该像这样:
example-bucket.s3.amazonaws.com/
这是我正在使用的代码来调用文件系统API
Storage::disk('s3')->put('new-name.png', file_get_contents( 'path/to/file'))
s3.global.amazonaws.com
存在并解析为一个 IP 地址。有可能您的服务器上没有列出用于解析域名的 DNS 服务器。 - Ben Swinburne