Я искал в Интернете уже более двух дней и, вероятно, просмотрел большинство сценариев и обходных решений в Интернете, но пока ничего не работало для меня.
Я на AWS SDK для PHP V2.8.7, работающий на PHP 5.3. Я пытаюсь подключиться к своей корзине S3 со следующим кодом:
// 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();
}
//
Мой файл config.php выглядит следующим образом:
<?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'
)
)
)
)
);
Он выдает следующую ошибку:
Подписанная нами подпись запроса не соответствует подписи, которую вы предоставили. Проверьте свой ключ и метод подписи.
Я уже проверил ключ доступа и секрет как минимум 20 раз, сгенерировал новые, использовал разные методы для передачи информации (т.е. профиля и включая учетные данные в коде), но в настоящий момент ничего не работает.