【发布时间】:2021-11-23 23:14:14
【问题描述】:
有人为 laravel 8 上传到 Digitalocean 空间成功
这是我的作曲家
"laravel/framework": "^8.54",
"league/flysystem-aws-s3-v3": "^1.0",
在文件系统.php中
'spaces' => [
'driver' => 's3',
'key' => env('SPACES_ACCESS_KEY_ID', '===AAACESS KEY==='),
'secret' => env('SPACES_SECRET_ACCESS_KEY', '===BBBSECRECT KEY==='),
'region' => env('SPACES_DEFAULT_REGION', 'sgp1'),
'bucket' => env('SPACES_BUCKET', 'laravel-spaces'),
'url' => env('SPACES_URL', 'https://laravel-spaces.sgp1.cdn.digitaloceanspaces.com'),
'endpoint' => env('SPACES_ENDPOINT', 'https://sgp1.digitaloceanspaces.com')
],
Tinker 上传测试
$path = 'thumb.png';
$file = Storage::disk('spaces')->put($path, @file_get_contents(public_path('images/logo.png')));
错误
Aws\S3\Exception\S3Exception with message 'Error executing "PutObject" on "https://laravel-spaces.s3.sgp1.amazonaws.com/thumb.png"; AWS HTTP error: cURL error 6: Could not resolve: laravel-spaces.s3.sgp1.amazonaws.com (Domain name not found) (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://laravel-spaces.s3.sgp1.amazonaws.com/thumb.png'
*** Execution finished ***
为什么要将 s3 和 amazonaws.com 附加到 url
以及如何解决这个问题
谢谢。
【问题讨论】:
-
在
php artisan tinker中检查config('filesystems.disks.spaces')。确保它显示正确的配置;也许你有一个缓存的?否则我看不出有什么明显的错误。
标签: php laravel amazon-s3 laravel-8 digital-ocean