首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级AWS版本时S3错误访问

升级AWS版本时S3错误访问
EN

Stack Overflow用户
提问于 2019-06-10 20:31:30
回答 1查看 123关注 0票数 2

我正在升级一个使用aws-php-sdk v2aws-php-sdk v3的系统。

v2中,我有如下内容:

代码语言:javascript
复制
$this->s3->upload($bucket, $key, $file, 'public-read');
//Where $this->s3 is a S3Client instance (from the SDK).

而且效果很好。

现在,在升级到aws-php-sdk v3之后,它会引发一个错误:

在"PutObject“上执行"https://s3.region.amazonaws.com/folder/file.ext”时出错。 客户端错误:PUT https://s3.region.amazonaws.com/folder/file.ext导致403 Forbidden响应 我们计算的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。

我使用的是我在v2系统中使用的相同的v2和秘密。

据我所知,负责签名计算的PHP .因为我没有手工计算。

我做错什么了?有什么办法解决吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-11 20:42:47

刚刚找到了我问题的答案。

问题是:在aws-php-sdk v2中,我有以下代码:

代码语言:javascript
复制
$bucket = "mybucketname/myfolder";
$key = "myfilename.jpg";
$upload = $this->app->S3->upload($bucket, $key, fopen( $local , 'rb'), 'public-read');

它工作得很好,没有显示任何警告/错误,但是升级到aws-php-sdk v3时不起作用。我只是将$bucket$key值更改为:

代码语言:javascript
复制
$bucket = "mybucketname";
$key = "myfolder/myfilename.jpg";
$upload = $this->app->S3->upload($bucket, $key, fopen( $local , 'rb'), 'public-read');

结果成功了!

这真的很奇怪,它没有抱怨在v2,而是在v3

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56533140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档