带有 s3 的 Laravel 文件系统使用错误的 url
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/29436790/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Laravel's Filesystem with s3 using the wrong url
提问by whoacowboy
I am using Laravel's Filesystem to store items on s3 and I am getting the wrong URL.
我正在使用 Laravel 的文件系统在 s3 上存储项目,但我收到了错误的 URL。
Storage::disk('s3')->put('file.txt', 'Contents');
Gives me the error
给我错误
CurlException in CurlMulti.php line 359:
[curl] 6: Could not resolve host: mybucket.s3.website-us-east-1.amazonaws.com [url] https://mybucket.s3.website-us-east-1.amazonaws.com/file.txt
This URL
这个网址
mybucket.s3.website-us-east-1.amazonaws.com
mybucket.s3.website-us-east-1.amazonaws.com
should be
应该
mybucket.s3-website-us-east-1.amazonaws.com
mybucket.s3-website-us-east-1.amazonaws.com
config/filesystem.php
配置/文件系统.php
's3' => [
'driver' => 's3',
'key' => env('S3_KEY'),
'secret' => env('S3_SECRET'),
'region' => env('S3_REGION'),
'bucket' => env('S3_BUCKET'),
],
.env
.env
S3_KEY=MYKEY
S3_SECRET=mySecr3tmySecr3tmySecr3tmySecr3t
S3_REGION=website-us-east-1
S3_BUCKET=mybucket
回答by whoacowboy
I eventually found two answers for this.
我最终为此找到了两个答案。
One solutionwas to remove the region reference entirely
一种解决方案是完全删除区域引用
's3' => [
'driver' => 's3',
'key' => env('S3_KEY'),
'secret' => env('S3_SECRET'),
'bucket' => env('S3_BUCKET'),
],
The other solutionwhich is what I eventually went with was this:
我最终采用的另一个解决方案是:
's3' => [
'driver' => 's3',
'key' => env('AWS_KEY'),
'secret' => env('AWS_SECRET_KEY'),
'region' => Aws\Common\Enum\Region::OREGON,
'bucket' => 'app-images',
],
the regions can be found on the A3 GitHub Repo.
这些区域可以在A3 GitHub Repo上找到。
class Region extends Enum
{
const US_EAST_1 = 'us-east-1';
const VIRGINIA = 'us-east-1';
const NORTHERN_VIRGINIA = 'us-east-1';
const US_WEST_1 = 'us-west-1';
const CALIFORNIA = 'us-west-1';
const NORTHERN_CALIFORNIA = 'us-west-1';
const US_WEST_2 = 'us-west-2';
const OREGON = 'us-west-2';
const EU_WEST_1 = 'eu-west-1';
const IRELAND = 'eu-west-1';
const LONDON = 'eu-west-2';
const EU_CENTRAL_1 = 'eu-central-1';
const FRANKFURT = 'eu-central-1';
const AP_SOUTHEAST_1 = 'ap-southeast-1';
const SINGAPORE = 'ap-southeast-1';
const AP_SOUTHEAST_2 = 'ap-southeast-2';
const SYDNEY = 'ap-southeast-2';
const AP_NORTHEAST_1 = 'ap-northeast-1';
const TOKYO = 'ap-northeast-1';
const SA_EAST_1 = 'sa-east-1';
const SAO_PAULO = 'sa-east-1';
const CN_NORTH_1 = 'cn-north-1';
const BEIJING = 'cn-north-1';
const US_GOV_WEST_1 = 'us-gov-west-1';
const GOV_CLOUD_US = 'us-gov-west-1';
}