如何将 Vultr 对象存储与 Laravel 结合使用(可兼容)
第一步
在本教程中,我假设您已经准备好 laravel 项目环境,并且具备 php/laravel 的初级/中级知识。
首先,我们需要在 vultr 的管理面板上准备我们的对象存储环境。如果您没有 vultr 帐户,只需在此处创建一个。创建帐户后,您需要创建一个对象存储,然后创建一个存储桶。对于本教程,重点关注如何在 laravel 上实现此功能,我将跳过此步骤并留下一个链接来解释所有这些步骤。
1.安装所需的包
为了实现我们的目标,我们需要安装flysystem。 flysystem是一个著名的php文件存储库,它支持许多文件系统并为所有文件系统提供接口。在我们的例子中,我们将专门使用 aws-s3,但如果您想了解有关该库的更多信息,请随时访问他们的官方文档页面
composer require league/flysystem-aws-s3-v3
2. laravel 上的配置
成功安装依赖项后,我们现在需要与 laravel 沟通,我们有一个新的文件系统及其凭据。
在磁盘阵列上的 configfilesystems.php 中,您将添加以下内容:
'vultr' => [ 'driver' => 's3', 'key'=> env('vultr_access_key'), 'secret' => env('vultr_secret_key'), 'region' => env('vultr_region'), 'bucket' => env('vultr_bucket'), 'endpoint' => env('vultr_endpoint'), ],
obs:您可以在 vult 的对象存储部分面板中获取所有这些信息。
3.环境变量
现在我们需要将凭据添加到 .env 中以进行身份验证并执行正确的功能。
vultr_access_key=youraccesskey vultr_secret_key=yoursecretkey vultr_region=sjc1 vultr_bucket=yourbucket vultr_endpoint=https://sjc1.vultrobjects.com
4.瞧!
现在我们可以调用指定之前配置的 vultr 磁盘的存储类:
Storage::disk('vultr')->putFile('uploads', request()->file, 'public');
现在我们可以在 laravel 应用程序中执行所有对象存储操作!
参考
https://laravel.com/docs/11.x/filesystem
https://ecwebservices.medium.com/how-to-use-vultr-object-storage-with-laravel-8-a21256f1b4a1