aws / aws-sdk-php-laravel
一个简单的 Laravel 6/7/8/9/10/11 服务提供者,用于包含 AWS SDK for PHP。
Requires
- php: >=7.2.5
- aws/aws-sdk-php: ^3.279.0
- illuminate/support: ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0
Requires (Dev)
- phpunit/phpunit: ^8.0 || ^9.0
- vlucas/phpdotenv: ^1.0 || ^2.0 || ^3.0 || ^4.0 || ^5.0
- yoast/phpunit-polyfills: ^1.0
Suggests
- laravel/framework: To test the Laravel bindings
- laravel/lumen-framework: To test the Lumen bindings
This package is auto-updated.
Last update: 2024-09-12 18:09:30 UTC
README
这是一个简单的 Laravel 服务提供者,用于轻松地将官方 AWS SDK for PHP 包含到您的 Laravel 和 Lumen 应用程序中。
本 README 是针对服务提供者的 3.x 版本,该版本针对 Laravel 5.1 和 AWS SDK for PHP 的 3 版本进行实现。
主要版本
- 3.x (您在此处) - 针对
laravel/framework:6.0|7.0|8.0|9.0|10.0|11.0
和aws/aws-sdk-php:^3.279.0
- 2.x (2.0 分支) - 针对
laravel/framework:5.0.*
和aws/aws-sdk-php:~2.4
- 1.x (1.0 分支) - 针对
laravel/framework:4.*
和aws/aws-sdk-php:~2.4
跳转到
入门指南
安装
可以通过在项目中的 composer.json
中要求 aws/aws-sdk-php-laravel
包来使用 Composer 安装 AWS 服务提供者。
{ "require": { "aws/aws-sdk-php-laravel": "~3.0" } }
然后运行 composer update
php composer.phar update
要使用 AWS 服务提供者,您必须在启动应用程序时注册提供者。
Lumen
在 Lumen 中,找到 Register Service Providers
并注册 AWS 服务提供者。
$app->register(Aws\Laravel\AwsServiceProvider::class);
Laravel
在 Laravel 中,找到 providers
键并注册 AWS 服务提供者。
'providers' => array( // ... Aws\Laravel\AwsServiceProvider::class, )
在 config/app.php
中找到 aliases
键并添加 AWS 门面别名。
'aliases' => array( // ... 'AWS' => Aws\Laravel\AwsFacade::class, )
配置
默认情况下,该包使用以下环境变量来自动配置插件而无需修改
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION (default = us-east-1)
要自定义配置文件,请使用 Artisan 发布包配置。
php artisan vendor:publish --provider="Aws\Laravel\AwsServiceProvider"
设置可以在生成的 config/aws.php
配置文件中找到。默认情况下,凭据和区域设置将从您的 .env
文件中获取。
return [ 'credentials' => [ 'key' => env('AWS_ACCESS_KEY_ID', ''), 'secret' => env('AWS_SECRET_ACCESS_KEY', ''), ], 'region' => env('AWS_REGION', 'us-east-1'), 'version' => 'latest', // You can override settings for specific services 'Ses' => [ 'region' => 'us-east-1', ], ];
请注意,如果您想使用 默认 SDK 配置提供者链,则可以始终从该文件中删除 credentials
行。
关于使用 php artisan config:cache
的情况下,请参考 Laravel 5.2.0 升级指南,您必须使用配置文件而不是环境变量选项。
有关配置 SDK 的更多信息,请参阅 SDK 的用户指南 配置指南。
使用
为了在您的应用程序中使用 AWS SDK for PHP,您需要从 Laravel 服务容器 中检索它。以下示例使用 Amazon S3 客户端上传文件。
$s3 = App::make('aws')->createClient('s3'); $s3->putObject(array( 'Bucket' => 'YOUR_BUCKET', 'Key' => 'YOUR_OBJECT_KEY', 'SourceFile' => '/the/path/to/the/file/you/are/uploading.ext', ));
如果 AWS 门面已注册在应用程序配置的 aliases
部分中,您还可以使用以下技术。
$s3 = AWS::createClient('s3'); $s3->putObject(array( 'Bucket' => 'YOUR_BUCKET', 'Key' => 'YOUR_OBJECT_KEY', 'SourceFile' => '/the/path/to/the/file/you/are/uploading.ext', ));
在 Lumen 中使用时,您需要从服务容器中稍作不同的方式检索它。
$s3 = app('aws')->createClient('s3'); $s3->putObject(array( 'Bucket' => 'YOUR_BUCKET', 'Key' => 'YOUR_OBJECT_KEY', 'SourceFile' => '/the/path/to/the/file/you/are/uploading.ext', ));
获取帮助
请使用这些社区资源来获取帮助。我们使用 GitHub 问题来跟踪错误和功能请求,并且处理它们的带宽有限。
- 在 StackOverflow 上提问,并用
aws-php-sdk
标签 - 加入 AWS SDK for PHP 的 gitter
- 通过 AWS Support 提交支持票据
- 如果发现可能是 bug,请 创建一个问题
此 SDK 实现了 AWS 服务 API。有关 AWS 服务及其限制的通用问题,您还可以查看 Amazon Web Services 讨论论坛。
创建问题
如果您遇到与 aws-sdk-php-laravel
相关的 bug,我们希望了解它。搜索现有问题,并在创建新问题之前确保您的问题尚未存在。如果您包括 aws-sdk-php-laravel
的版本、PHP 版本和您正在使用的操作系统,将非常有帮助。在适当的情况下,请包括堆栈跟踪和简化的重现案例。
GitHub 问题用于提交 bug 报告和功能请求。有关使用 aws-sdk-php
的帮助和问题,请使用“获取帮助”部分中列出的资源。处理问题的资源有限,通过保持开放问题的列表精简,我们可以及时响应。
贡献
我们努力为 AWS 服务提供高质量且有用的 SDK,我们非常重视社区反馈和贡献。在提交任何问题或拉取请求之前,请先审查我们的 贡献指南,以确保我们有所有必要的信息来有效响应您的 bug 报告或贡献。