我正在使用Amazon的AWS PHP SDK,并且在以下目录“ public_html / composer”上安装了composer。我当前正在使用共享主机。但是,我有权访问根。
当我尝试使用AWS's sample code时,我的error_log中出现以下错误:
Fatal error: Uncaught Aws\Exception\CredentialsException: Cannot read credentials from /.aws/credentials in /home2/maltaboo/public_html/composer/vendor/aws/aws-sdk-php/src/Credentials/CredentialProvider.php:691 Stack trace: #0 /home2/maltaboo/public_html/composer/vendor/aws/aws-sdk-php/src/Credentials/CredentialProvider.php(424): Aws\Credentials\CredentialProvider::reject('Cannot read cre...') #1 /home2/maltaboo/public_html/composer/vendor/aws/aws-sdk-php/src/Middleware.php(121): Aws\Credentials\CredentialProvider::Aws\Credentials\{closure}() #2 /home2/maltaboo/public_html/composer/vendor/aws/aws-sdk-php/src/RetryMiddleware.php(266): Aws\Middleware::Aws\{closure}(Object(Aws\Command), Object(GuzzleHttp\Psr7\Request)) #3 /home2/maltaboo/public_html/composer/vendor/aws/aws-sdk-php/src/Middleware.php(206): Aws\RetryMiddleware->__invoke(Object(Aws\Command), Object(GuzzleHttp\Psr7\Request)) #4 /home2/maltaboo/public_html/composer/vendor/aws/aws-sdk-php/src/StreamRequestPayloadMiddleware.php(83): Aws\Middleware::Aws\{closure}(Ob in /home2/maltaboo/public_html/composer/vendor/aws/aws-sdk-php/src/Credentials/CredentialProvider.php on line 691
我根据AWS教程创建了我的凭证文件:
[default]
aws_access_key_id = 123456789
aws_secret_access_key = abcdefghijklm
文档指出我必须将其保存在以下位置:~/.aws/credentials
我尝试创建目录.aws/credentials
了很多次,但是遇到相同的错误。我也尝试过寻找.aws
文件,但是除了我刚刚创建的文件以外,我找不到它。
鉴于以上所述,我应该将凭证文件放在哪里? TIA
答案 0 :(得分:0)
我也遇到了同样的问题 Uncaught ReferenceError: getVariable is not defined
在此提及我的解决方案以供参考:
此解决方案在 aws-php-sdk 3.173 版中测试:
CredentialProvider.php 使用 cannot read /.aws/credentials
路径从文件加载凭据。
就我而言(Linux 共享主机)它是空的。
所以我使用以下方法将其设置为所需的值:
getenv('HOME')/.aws/credentials