@Tutucu

Почему Laravel неправильно подключается к Amazon s3?

Здравтсвуйте, пытаюсь подключиться к Yandex Cloud Object Storage (Подключение такое же как и к Amazon s3).
Подключил библиотеку для этого:
composer require league/flysystem-aws-s3-v3 ~1.0
Использую следующий конфиг:
'yandexcloud' => [
            'driver' => 's3',
            'key' => env('YACLOUD_ACCESS_KEY_ID', 'your_key'),
            'secret' => env('YACLOUD_SECRET_ACCESS_KEY', 'your_secret_key'),
            'endpoint' => env('YACLOUD_ENDPOINT', 'http://storage.yandexcloud.net/'),
            'region' => env('YACLOUD_DEFAULT_REGION', 'us-west-2'),
            'bucket' => env('YACLOUD_BUCKET', 'name-backet'),
            'url' => 'http://static.example.com/',
        ],

И получаю ошибку:
Aws/S3/Exception/S3Exception with message 'Error executing "PutObject" on "'name-backet.http://storage.yandexcloud.net/"; AWS HTTP error: cURL error 1: Protocol "'name-backet.http" not supported or disabled in libcurl (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for 'name-backet.http://storage.yandexcloud.net/'

Т.е. почему то Laravel берёт имя моего бакета и приклеевает его к началу строки endpoint, образуя некоректный адрес подключения: name-backet.storage.yandexcloud.net, из-за чего образуется ошибка. С чем это связано?
  • Вопрос задан
  • 807 просмотров
Решения вопроса 1
@Tutucu Автор вопроса
ОКазалось, что это массовый баг, решение есть здесь: https://github.com/laravel/framework/issues/36694
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
the_mix
@the_mix
web developer
уберите `http://` из эндпоинта:
'endpoint' => env('YACLOUD_ENDPOINT', 'storage.yandexcloud.net'),
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы