Laravel的文件系统与s3使用了错误的网址
问题描述:
我正在使用Laravel的Filesystem在s3上存储项目,并且我收到了错误的URL。Laravel的文件系统与s3使用了错误的网址
Storage::disk('s3')->put('file.txt', 'Contents');
给我的错误
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
此URL
mybucket.s3.website-us-east-1.amazonaws.com
应该
mybucket.s3-website-us-east-1.amazonaws.com
配置/ filesystem.php
's3' => [
'driver' => 's3',
'key' => env('S3_KEY'),
'secret' => env('S3_SECRET'),
'region' => env('S3_REGION'),
'bucket' => env('S3_BUCKET'),
],
.ENV
S3_KEY=MYKEY
S3_SECRET=mySecr3tmySecr3tmySecr3tmySecr3t
S3_REGION=website-us-east-1
S3_BUCKET=mybucket
答
我终于找到了这两个答案。
One solution是消除该地区完全参考
's3' => [
'driver' => 's3',
'key' => env('S3_KEY'),
'secret' => env('S3_SECRET'),
'bucket' => env('S3_BUCKET'),
],
The other solution这是我最终去用是这样的:
's3' => [
'driver' => 's3',
'key' => env('AWS_KEY'),
'secret' => env('AWS_SECRET_KEY'),
'region' => Aws\Common\Enum\Region::OREGON,
'bucket' => 'app-images',
],
的区域可以在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';
}
+0
我有相同的大坝问题,像2小时,我有没有想法为什么这样的事情是如此难以找到,这么多thanx这个 – ctf0 2016-01-24 20:54:03
也许'S3_REGION = s3-website-us-east-1' ...? – 2015-04-03 21:52:57
是的,我试过它给了我'mybucket.s3.s3-website-us-east-1.amazonaws.com' – whoacowboy 2015-04-03 21:57:16
正如在这里添加的,删除区域的解决方案为我工作:http://laravel.io/forum/04-03-2015-filesystem-with-s3-giving-me-the-wrong-s3-url – 2015-04-21 02:32:14