PHP AWS SDK 3错误:AWS HTTP错误:cURL错误6:无法解析主机:s3.oregon.amazonaws.com

时间:2016-10-12 05:29:35

标签: php amazon-s3

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

但是,我收到以下错误:

  

PHP致命错误:未捕获的异常'Aws \ S3 \ Exception \ S3Exception',消息'错误执行“PutObject”在“https://s3.oregon.amazonaws.com/my-buekct-test/hello_world.txt”上; AWS HTTP错误:cURL错误6:无法解析主机: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

你能指出我哪里出错吗?

1 个答案:

答案 0 :(得分:6)

尝试使用以下代码,只需更改区域

<?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'];
  

&#39;区域&#39; =&GT; &#39; us-west-2&#39;,//这件事我只更新了

您可以在此处找到aws的地区信息:http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region

希望这会有所帮助!