gpt4 book ai didi

php - Laravel:使用 Linode 的存储对象作为 AWS S3 的替代方案

转载 作者:行者123 更新时间:2023-12-03 19:13:29 24 4
gpt4 key购买 nike

Linode 的 Object Storage 标记为 与 S3 兼容 .知道这一点后,我认为我可以在 filesystems.php 中简单地使用 Linode 的凭据。并使用 ->disk('s3')上传和下载文件,但显然情况并非如此。

我已经按照 Laravel's docs 中的建议安装了所有必需的 S3 PHP 包。 .

我的 .env已:

AWS_ACCESS_KEY_ID=foo
AWS_SECRET_ACCESS_KEY=bar
AWS_DEFAULT_REGION=DE
AWS_BUCKET=my-linode-storage-object.eu-central-1.linodeobjects.com

在日志中,我遇到了 Could not resolve host 的异常.它尝试将 AWS 端点与我上面提供的内容连接起来,因此很容易就行不通了。我应该安装完全不同的包来处理 Linode 的存储对象连接吗?

我在网上没有看到很多关于如何在 Laravel 应用程序中使用 Linode 的存储对象的教程。任何链接或提示将不胜感激。

最佳答案

从 laravel 文档中只需安装所需的 Composer 包之一

$ composer require league/flysystem-aws-s3-v3
暂时不要安装 League/flysystem-cached-adapter,因为这需要更多配置。
接下来,在配置文件系统文件config/filesystems.php下添加一个使用s3驱动的新磁盘
'linode' => [
'driver' => 's3',
'key' => env('LINODE_KEY'),
'secret' => env('LINODE_SECRET'),
'endpoint' => env('LINODE_ENDPOINT'),
'region' => env('LINODE_REGION'),
'bucket' => env('LINODE_BUCKET'),
],
将新的环境变量添加到项目的 .env 文件中:
LINODE_KEY="KEYUNDERDOUBLEQUOTES"
LINODE_SECRET="SECRETUNDERDOUBLEQUOTES"
LINODE_ENDPOINT="https://eu-central-1.linodeobjects.com"
LINODE_REGION="eu-central-1"
LINODE_BUCKET="bucket-name"
我通常在 ""下包含变量以确保它与符号一起使用。还包括在 LINODE_ENDPOINT 下的 http 或 https。
现在你已经设置好了一切,你现在可以在你的 Laravel 代码中使用这个磁盘 ->disk('linode')

关于php - Laravel:使用 Linode 的存储对象作为 AWS S3 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61407039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com