PHP AWS SDK 3错误:AWS HTTP错误:cURL错误6:无法解析host: s3.oregon.amazo


PHP AWS SDK 3 Error: AWS HTTP error: cURL error 6: Could not resolve host: s3.oregon.amazonaws.com

我正在尝试连接到AWS版本3 SDK桶。

但是,我收到以下错误:

PHP致命错误:未捕获异常'Aws'S3' exception 'S3Exception',提示'在' https://s3.oregon.amazonaws.com/my-buekct-test/hello_world.txt '上执行"PutObject"错误;AWS HTTP错误:cURL错误6:无法解析host: s3.oregon.amazonaws.com(见http://curl.haxx.se/libcurl/c/libcurl-errors.html)'

这是我的代码,很简单。

<?php
header('Content-Type: text/plain; charset=utf-8');
// Include the SDK using the Composer autoloader
require 'vendor/autoload.php';
$s3 = new Aws'S3'S3Client([
'region'  => 'Oregon',
'version' => 'latest',
'credentials' => [
    'key'    => 'Enter the key',
    'secret' => 'Enter the Secret key'
]
]);
// Send a PutObject request and get the result object.
$key = 'hello_world.txt';
$result = $s3->putObject([
'Bucket' => 'my-buekct-test',
'Key'    => $key,
'Body'   => 'this is the body!'
]);
// Print the body of the result by indexing into the result object.
echo $result['Body'];

我正在使用AWS centos, php 5.5.21, apache 2.4.10

你能指出我哪里做错了吗?

尝试使用下面的代码,您只需要更改区域

<?php
header('Content-Type: text/plain; charset=utf-8');
// Include the SDK using the Composer autoloader
require 'vendor/autoload.php';
$s3 = new Aws'S3'S3Client([
'region'  => 'us-west-2',
'version' => 'latest',
'credentials' => [
    'key'    => 'Enter the key',
    'secret' => 'Enter the Secret key'
]
]);
// Send a PutObject request and get the result object.
$key = 'hello_world.txt';
$result = $s3->putObject([
'Bucket' => 'my-buekct-test',
'Key'    => $key,
'Body'   => 'this is the body!'
]);
// Print the body of the result by indexing into the result object.
echo $result['Body'];

'region' => 'us-west-2',//这个东西我只更新了

您可以从这里找到aws的区域信息:http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region

希望这对你有帮助!