我正在使用php mini framework https://github.com/panique/mini
现在我在控制器的索引方法中有以下内容。但是在我的config / config.php文件中感觉应该更好。我该怎么做才能在控制器/模型中使用它?
// Instantiate the S3 client with your AWS credentials
$client = S3Client::factory(array(
'key' => 'YOUR_AWS_ACCESS_KEY_ID',
'secret' => 'YOUR_AWS_SECRET_ACCESS_KEY',
));
更新
我现在测试了两种不同的方法,但它不起作用。我的钥匙当然是正确的。
使用AWS凭据文件和凭据配置文件
使用以下代码在~/.aws/credentials/credentials.ini
中创建了一个新文件:
[default]
aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY
但我不确定项目在哪里应该实例化客户端。我已经测试过将以下代码放在config.php和我的控制器中,但是它无效。
use Aws\S3\S3Client;
$s3Client = S3Client::factory(array(
'profile' => 'default',
'region' => 'us-west-1',
));
将配置文件与服务构建器一起使用
我把这段代码放在config.php
中return array(
// Bootstrap the configuration file with AWS specific features
'includes' => array('_aws'),
'services' => array(
// All AWS clients extend from 'default_settings'. Here we are
// overriding 'default_settings' with our default credentials and
// providing a default region setting.
'default_settings' => array(
'params' => array(
array(
'credentials' => array(
'key' => 'YOUR_AWS_ACCESS_KEY_ID',
'secret' => 'YOUR_AWS_SECRET_ACCESS_KEY',
)
),
'region' => 'us-west-1'
)
)
)
);
在我的控制器中,我在哪里访问aws,我把它写在文件的顶部。
use Aws\S3\S3Client;
$s3Client = S3Client::factory('APP . '/config/config.php');
$client = $s3Client->get('s3');
但我收到错误消息
致命错误:未捕获的异常 'Aws \ Common \ Exception \ InvalidArgumentException',带有消息'The config必须作为数组或集合提供。'
答案 0 :(得分:0)
请阅读AWS SDK for PHP用户指南的Providing Credentials to the SDK部分。该页面上的第1,2和3部分介绍了设置凭据的技巧,而无需将其放入应用程序的代码或存储库中。
答案 1 :(得分:0)
您是否尝试过使用composer autoloader
require 'vendor/autoload.php'
然后,您可以在项目的任何位置实例化您的客户端