繁体   English   中英

升级AWS PHP SDK版本时出现S3错误访问

[英]S3 error access when upgrading AWS PHP SDK versions

我正在将使用aws-php-sdk v2的系统升级到aws-php-sdk v3

v2我有类似以下内容:

$this->s3->upload($bucket, $key, $file, 'public-read');
//Where $this->s3 is a S3Client instance (from the SDK).

而且效果很好。

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

在“ https://s3.region.amazonaws.com/folder/file.ext ”上执行“ PutObject”时出错。

客户端错误: PUT https://s3.region.amazonaws.com/folder/file.ext导致403 Forbidden响应

我们计算出的请求签名与您提供的签名不匹配。 检查您的密钥和签名方法。

我使用的是与v2系统中使用的相同的accessKey和secret。

据我所知,是负责签名计算的PHP SDK。据我所知,我没有手动进行任何计算。

我做错了什么? 有什么想法如何解决吗?

刚找到我问题的答案。

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

$bucket = "mybucketname/myfolder";
$key = "myfilename.jpg";
$upload = $this->app->S3->upload($bucket, $key, fopen( $local , 'rb'), 'public-read');

这可以很好地工作,并且不会显示任何警告/错误,但是在升级到aws-php-sdk v3时不起作用。 我只是将$bucket$key值更改为:

$bucket = "mybucketname";
$key = "myfolder/myfilename.jpg";
$upload = $this->app->S3->upload($bucket, $key, fopen( $local , 'rb'), 'public-read');

它只是工作!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM