Tôi đã tìm kiếm trên web hơn hai ngày nay và có lẽ đã xem qua hầu hết các tình huống và cách giải quyết được ghi chép trực tuyến, nhưng cho đến nay vẫn chưa có kết quả nào đối với tôi.
Tôi đang sử dụng AWS SDK cho PHP V2.8.7 chạy trên PHP 5.3.
Tôi đang cố gắng kết nối với bộ chứa S3 của mình bằng mã sau:
// Create a `Aws` object using a configuration file
$aws = Aws::factory('config.php');
// Get the client from the service locator by namespace
$s3Client = $aws->get('s3');
$bucket = "xxx";
$keyname = "xxx";
try {
$result = $s3Client->putObject(array(
'Bucket' => $bucket,
'Key' => $keyname,
'Body' => 'Hello World!'
));
$file_error = false;
} catch (Exception $e) {
$file_error = true;
echo $e->getMessage();
die();
}
//
Tệp config.php của tôi như sau:
<?php
return array(
// Bootstrap the configuration file with AWS specific features
'includes' => array('_aws'),
'services' => array(
// All AWS clients extend from 'default_settings'. Here we are
// overriding 'default_settings' with our default credentials and
// providing a default region setting.
'default_settings' => array(
'params' => array(
'credentials' => array(
'key' => 'key',
'secret' => 'secret'
)
)
)
)
);
Nó đang tạo ra lỗi sau:
Chữ ký yêu cầu mà chúng tôi tính toán không khớp với chữ ký bạn đã cung cấp. Kiểm tra khóa và phương thức ký của bạn.
Tôi đã kiểm tra khóa truy cập và khóa bí mật của mình ít nhất 20 lần, tạo khóa mới, sử dụng các phương pháp khác nhau để chuyển thông tin (tức là hồ sơ và bao gồm thông tin đăng nhập trong mã) nhưng không có gì hoạt động vào lúc này.
secret
cao hơn) và sử dụng khóa đó để tính toán chữ ký dựa trên khóa truy cập của bạn, dấu thời gian hiện tại, cộng với một loạt các yếu tố khác. Xem docs.aws.amazon.com/general/latest/gr/… . Đó là một tầm nhìn xa, nhưng do chúng bao gồm dấu thời gian, có lẽ thời gian môi trường địa phương của bạn đã tắt?