Laravel 4.2中的AWS Package错误

时间:2014-08-26 19:23:50

标签: php amazon-web-services laravel-4 amazon-ec2 amazon-s3

好吧,我在我的应用程序中使用了Laravel 4.2版,但我在AWS Package中遇到了一些问题:/

我使用此包https://github.com/aws/aws-sdk-php-laravel

我做了README.md中描述的所有内容,但是当我尝试将图像发送到S3时,我收到此错误

  

从实例配置文件元数据服务器检索凭据时出错。如果未在Amazon EC2内部运行,则在创建客户端或提供实例化的Aws \ Common \ Credentials \ CredentialsInterface对象时,必须在“密钥”和“机密”选项中提供AWS访问密钥ID和秘密访问密钥。 ([curl] 7:连接到169.254.169.254:80失败;没有到主机的路由[url] 169.254.169.254/latest/meta-data/iam/security-credentials /

我把包放在我的composer.json

  

“aws / aws-sdk-php-laravel”:“1。*”

我发送命令

  

作曲家更新

我放入文件夹 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']
        ));

但没有任何作用:(

任何人都知道发生了什么事?

1 个答案:

答案 0 :(得分:0)

我强烈建议将这些组合使用:

https://github.com/GrahamCampbell/Laravel-Flysystem/tree/v1.0.0 https://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!