php - 无法从/.aws/credentials中读取凭证-PHP脚本调用AWS-SDK

标签 php amazon-web-services aws-sdk amazon-route53

我已经看过这里的每个答案,看来我的问题有些不同,或者没有适当的解决方案。我在PHP文件中执行以下操作:

use Aws\Route53\Route53Client;

$client = Route53Client::factory(array(
    'profile' => 'default',
    'region' => 'us-east-1',
    'version' => '2013-04-01'
));

出现此错误:
Fatal error: Uncaught Aws\Exception\CredentialsException: Cannot read credentials from /.aws/credentials

似乎容易解决的问题是确保HOME目录是正确的目录。确实已经是。文件可读,我的ec2-user已经是所有者。 “ key 和 secret ”已安装在“凭据”文件中。配置文件名称已设置为“默认”。试图将/.aws复制到其他目录(例如根目录,/home等),并更改了以上所有权限chmod。依然没有。

然后,我尝试对凭据进行硬编码(我知道-不推荐),只是给了它一点点踢,而它完全忽略了我这样做:
$client = Route53Client::factory(array(
    'profile' => 'default',
    'region' => 'us-east-1',
    'version' => '2013-04-01',
    'credentials' => [
            'key' => $key,
            'secret' => $secret,
    ]
));

作为最后的选择,我什至尝试包括CredentialProvider类,并将其传递到我的数组中-仍然没有:
'credentials' => CredentialProvider::ini('default', '/home/ec2-user/.aws/credentials'),

我到底在做什么错?

最佳答案

不知道您在做什么错,但是我建议您完全绕过该问题,并为有问题的vm分配一个EC2实例角色,这样您就不必担心它了。这是一个更好/更安全的解决方案。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html

关于php - 无法从/.aws/credentials中读取凭证-PHP脚本调用AWS-SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49806405/

相关文章:

php - 如何在不更改域名的情况下开发手机版网站?

php - 图片“http ://localhost/chart/graph. php”无法显示,因为它在 PHPGraphLib 中包含错误

php - 修改函数以正确返回用户名,用于 wordpress 插件

java - AWS Redhat Chromedriver 不适用于 Java selenium

ruby-on-rails - 我如何保持记录的 session 并清除内存缓存中的 session 除外的缓存

javascript - AWS X Ray : inside for loop, 系统未按照迭代记录每个跟踪 ID 的跟踪。这里如何使用AWS Async函数?

php - 确定请求是否来自 Facebook 页面选项卡

linux - ec2 共享 www 文件夹

go - 同时从 S3 下载多个文件并合并它们

Swift Xcode 索引卡住或缓慢