【发布时间】:2020-08-07 22:45:07
【问题描述】:
Linode 的对象存储被标记为兼容 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 的存储对象的教程。任何链接或提示将不胜感激。
【问题讨论】:
-
无法具体评论 Linode,但根据您当前的方法,您的查询将使用 AWS 的 S3 端点。也许必须覆盖它才能使用 Linode 端点?在 boto3 中,您可以使用 endpoint_url 覆盖 boto3 使用的默认端点。 PHP应该有类似的东西?
-
我对 linode 的了解不多,但我可以提供一些建议。我认为你不应该破解你的代码。除了主机之外,您的环境看起来就像使用 S3。您的代码也看起来像使用 S3。此外,您不应将凭据放入配置文件中。这样想你只会向公众开放你的代码库。问候。
标签: php laravel amazon-web-services amazon-s3 linode