无法从 /.aws/凭证读取凭证 - PHP 脚本调用 AWS-开发工具包
2022-08-30 15:45:27
我已经看过这里的每个答案,似乎我的问题有点不同,或者没有一个合适的解决方案。我正在我的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 用户已经是所有者。密钥和机密已安装在“凭据”文件中。配置文件名称已设置为“默认”。尝试将 /.aws 复制到其他目录,如 root、/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'),
我到底做错了什么?