如何在 Amazon PHP SDK v3 中使用 v2 身份验证 header?
How do I use a v2 authentication header with Amazon PHP SDK v3?
这是我的代码:
$client = new S3Client([
'credentials' => [
'key' => 'xxx',
'secret' => 'xxx',
],
'version' => 'latest',
'region' => 'US',
'endpoint' => 'https://storage.googleapis.com',
'signature_version' => 'v2',
]);
我得到这个错误:
UnresolvedSignatureException in SignatureProvider.php line 61:
Unable to resolve a signature for v2/s3/US. Valid signature versions include v4 and anonymous.
文档说这是通过添加 'signature' => 'v2' 来支持的,但添加该参数似乎根本没有任何作用。
http://docs.aws.amazon.com/aws-sdk-php/guide/latest/configuration.html
这是使用 Laravel 5.1 和 Amazon SDK v3.0.3
很遗憾,你不能。 v2 签名正在逐步淘汰,目前仅在 small number of services 上受支持,S3 不是其中之一。由于 PHP SDK 是针对 AWS 产品构建的,因此对服务所做的身份验证更改会反映在 PHP 客户端中。
这是我的代码:
$client = new S3Client([
'credentials' => [
'key' => 'xxx',
'secret' => 'xxx',
],
'version' => 'latest',
'region' => 'US',
'endpoint' => 'https://storage.googleapis.com',
'signature_version' => 'v2',
]);
我得到这个错误:
UnresolvedSignatureException in SignatureProvider.php line 61:
Unable to resolve a signature for v2/s3/US. Valid signature versions include v4 and anonymous.
文档说这是通过添加 'signature' => 'v2' 来支持的,但添加该参数似乎根本没有任何作用。
http://docs.aws.amazon.com/aws-sdk-php/guide/latest/configuration.html
这是使用 Laravel 5.1 和 Amazon SDK v3.0.3
很遗憾,你不能。 v2 签名正在逐步淘汰,目前仅在 small number of services 上受支持,S3 不是其中之一。由于 PHP SDK 是针对 AWS 产品构建的,因此对服务所做的身份验证更改会反映在 PHP 客户端中。