我看过这里的每一个答案,似乎我的问题有点不同或者没有一个合适的解决方案.我在我的PHP文件中执行以下操作:
use Aws\Route53\Route53Client;
$client = Route53Client::factory(array(
'profile' => 'default',
'region' => 'us-east-1',
'version' => '2013-04-01'
));
Run Code Online (Sandbox Code Playgroud)
得到此错误:
Fatal error: Uncaught Aws\Exception\CredentialsException: Cannot read credentials from /.aws/credentials
Run Code Online (Sandbox Code Playgroud)
似乎简单的修复将确保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,
]
));
Run Code Online (Sandbox Code Playgroud)
作为最后的手段,我甚至尝试包含CredentialProvider类,并将其传递到我的数组中 - 仍然没有:
'credentials' => CredentialProvider::ini('default', '/home/ec2-user/.aws/credentials'),
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?