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

jon*_*ggu 4 php amazon-s3

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

但是,我收到以下错误:

PHP致命错误:未捕获的异常“ Aws \ S3 \ Exception \ S3Exception”,消息为“在https://s3.oregon.amazonaws.com/my-buekct-test/hello_world.txt ” 上执行“ PutObject”时出错 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'];
Run Code Online (Sandbox Code Playgroud)

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

您能帮我指出我哪里出问题了吗?

Ash*_*pal 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'];
Run Code Online (Sandbox Code Playgroud)

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

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

希望这会有所帮助!