无法从 /.aws/credentials 读取凭据
Cannot read credentials from /.aws/credentials
我正在尝试为 codeigniter
集成 AWS PHP SDK
但是显示错误如下
An uncaught Exception was encountered
Type: Aws\Exception\CredentialsException
Message: Cannot read credentials from /.aws/credentials
Filename: /var/www/html/aws/Aws/Credentials/CredentialProvider.php
并且在 cli 上出现错误
-bash: /root/.aws/credentials: 权限被拒绝
所以在此之后我已经允许权限...cli 错误已经消失但是 php 错误无法从 / 读取凭据。aws/credentials 仍然存在。
请帮忙解决这个问题。
谢谢!
当 PHP 在服务下 运行 时,没有 "user"。因此 PHP 不会尝试访问 /root/.aws/credentials。如果您查看错误,路径为 /.aws/credentails.
要解决此问题,请创建一个新目录 /.aws
并将目录 /root/.aws
复制到 /.aws
改进:
您已经在您的网站根文件夹中安装了 PHP SDK,这使得这些文件可以从外部访问。 SDK 应安装在您的网站文件夹之外。
当 运行 在另一个 AWS 服务上编写代码时,您不会像在本地计算机上那样使用密钥和密码。看看我在另一个问题上给出的。
基本上,您的 EC2 实例被分配了一个服务角色。然后,您可以将一个或多个 IAM 策略附加到该角色。 IAM 策略将确定您的 EC2 实例可以访问哪些 AWS 资源和操作。
在您的 PHP 代码中,您将使用 CredentialProvider::defaultProvider()
实例化您的客户端。例如,如果您使用的是 S3,它将看起来像这样。
$s3 = new S3Client([
'region' =>'us-east-1',
'credentials' => CredentialProvider::defaultProvider()
]);
如果您对 EC2 实例使用 IAM 角色,则无需使用以下内容
'profile'=>'default',
我只是删除上面解决错误的行 "Cannot read credentials from /.aws/credentials"
Issue using an IAM role with PHP SDK
我正在尝试为 codeigniter
集成 AWS PHP SDK但是显示错误如下
An uncaught Exception was encountered
Type: Aws\Exception\CredentialsException
Message: Cannot read credentials from /.aws/credentials
Filename: /var/www/html/aws/Aws/Credentials/CredentialProvider.php
并且在 cli 上出现错误 -bash: /root/.aws/credentials: 权限被拒绝
所以在此之后我已经允许权限...cli 错误已经消失但是 php 错误无法从 / 读取凭据。aws/credentials 仍然存在。
请帮忙解决这个问题。
谢谢!
当 PHP 在服务下 运行 时,没有 "user"。因此 PHP 不会尝试访问 /root/.aws/credentials。如果您查看错误,路径为 /.aws/credentails.
要解决此问题,请创建一个新目录 /.aws
并将目录 /root/.aws
复制到 /.aws
改进:
您已经在您的网站根文件夹中安装了 PHP SDK,这使得这些文件可以从外部访问。 SDK 应安装在您的网站文件夹之外。
当 运行 在另一个 AWS 服务上编写代码时,您不会像在本地计算机上那样使用密钥和密码。看看我在另一个问题上给出的
基本上,您的 EC2 实例被分配了一个服务角色。然后,您可以将一个或多个 IAM 策略附加到该角色。 IAM 策略将确定您的 EC2 实例可以访问哪些 AWS 资源和操作。
在您的 PHP 代码中,您将使用 CredentialProvider::defaultProvider()
实例化您的客户端。例如,如果您使用的是 S3,它将看起来像这样。
$s3 = new S3Client([
'region' =>'us-east-1',
'credentials' => CredentialProvider::defaultProvider()
]);
如果您对 EC2 实例使用 IAM 角色,则无需使用以下内容
'profile'=>'default',
我只是删除上面解决错误的行 "Cannot read credentials from /.aws/credentials"
Issue using an IAM role with PHP SDK