如何在Media Temple DV上设置AWS凭据

问题描述 投票:0回答:1

我很难通过Media Temple中的aws-php-sdk设置AWS S3使用的凭据。

我继续收到错误:Cannot read credentials from /.aws/credentials

我尝试按照指南通过https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-linux.html安装AWS CLI。然后,我使用以下内容通过https://docs.aws.amazon.com/cli/latest/userguide/tutorial-ec2-ubuntu.html#configure-cli设置凭据

......但我仍然得到了这个错误。

然后我与Media Temple支持聊天,他们在root中创建了.aws / credentials文件,但随后错误消息更改为:

Warning: is_readable(): open_basedir restriction in effect. File(/.aws/credentials) is not within the allowed path(s)

MT建议我不要更改basedir设置。他们还建议我尽可能简单地更改凭据的读取位置。

有人在MT上成功使用AWS凭证吗?

amazon-web-services credentials mediatemple
1个回答
0
投票

尝试通过SSH使用AWS CLI执行此操作就像在Media Temple上撞墙一样。

然后我尝试通过环境变量设置凭据,但这是不行的。

然后我想到将凭证文件放在PHP可以访问的目录中。但是,我必须设置aws-php-sdk寻找它的位置。我在一些文档中找到了环境变量,并尝试通过php的setenv()函数设置变量。没有骰子。

然后我在aws-php-sdk上搜索了我看到的初始错误,回溯到我找到了凭据文件位置设置的位置。原来文档是错误的,正确的环境变量名称是HOME

最后,所需的只是在使用AWS之前设置HOME。很容易,但应该是100x更容易弄清楚。这些方面的东西:

// Set environment variable for credentials location
putenv('HOME=../');

// Set bucket name
$this->bucket = $bucket;

// Create an S3Client
$this->s3Client = new Aws\S3\S3Client([
    'profile' => $this->profile,
    'version' => $this->version,
    'region'  => $this->region
]);
© www.soinside.com 2019 - 2024. All rights reserved.