好吧,我在应用程序中使用Laravel 4.2版,但我在AWS包方面有一些问题:/
我用这个包裹https://github.com/aws/aws-sdk-php-laravel
我做了README.md中描述的一切,但当我尝试将图像发送到S3时,我收到了这个错误
从实例配置文件元数据服务器检索凭据时出错。当您不是在Amazon EC2内部运行时,在创建客户端时,必须在"key"answers"secret"选项中提供您的AWS访问密钥ID和secret访问密钥,或者提供实例化的AWS''Common''CredentialsInterface对象。([curl]7:无法连接到169.254.169.254:80;没有到主机的路由[url]169.254.169254/最新/元数据/iam/安全凭据)
我把包裹放在我的堆肥里。json
"aws/aws-sdk php-laravel":"1.*"
我发送命令
composer更新
我放在app/config/packages/aws/aws-sdk-php-laravel/config.php文件夹
<?php
return array(
'key' => '[key]',
'secret' => '[secret]',
'region' => 'us-east-1',
'config_file' => null,
);
并尝试调用方法
AWS::get('s3')->putObject(array(
'Bucket' => ['bucket'],
'Key' => ['key'],
'SourceFile' => ['source']
));
但什么都不起作用:(
有人知道发生了什么事吗?
我强烈建议将这些用于组合的包:
https://github.com/GrahamCampbell/Laravel-Flysystem/tree/v1.0.0https://github.com/thephpleague/flysystem-aws-s3-v2
composer.json:
"graham-campbell/flysystem": "~1.0",
"league/flysystem-aws-s3-v2": "~1.0",
在你的代码中:
use GrahamCampbell'Flysystem'Facades'Flysystem;
// you can alias this in app/config/app.php if you like
Flysystem::put('hi.txt', 'foo');
// we're done here - how easy was that, it just works!