Php 继续接收错误:AWS HTTP错误:cURL错误6:尝试上载文件时

Php 继续接收错误:AWS HTTP错误:cURL错误6:尝试上载文件时,php,amazon-web-services,amazon-s3,sdk,Php,Amazon Web Services,Amazon S3,Sdk,每次我试图用sdk将文件上传到s3存储桶时,都会不断收到错误(AWS HTTP错误:cURL错误6)。我不知道为什么会发生这种情况,也不知道如何解决。我还需要在代码中添加或指定其他内容吗?问题出在水桶上还是我的用户(IAM)上。我不需要一个明确的答案,我只需要一些可以缩小范围的东西,我需要寻找错误的原因。我非常感谢您的回复。谢谢 这是我的代码: <?php require 'vendor/autoload.php'; use Aws\S3\S3Client; // Instantiat

每次我试图用sdk将文件上传到s3存储桶时,都会不断收到错误(AWS HTTP错误:cURL错误6)。我不知道为什么会发生这种情况,也不知道如何解决。我还需要在代码中添加或指定其他内容吗?问题出在水桶上还是我的用户(IAM)上。我不需要一个明确的答案,我只需要一些可以缩小范围的东西,我需要寻找错误的原因。我非常感谢您的回复。谢谢

这是我的代码:

<?php
require 'vendor/autoload.php';

use Aws\S3\S3Client;

// Instantiate an Amazon S3 client.
$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'US-West', 
    'credentials' => [
        'key'    => 'garbage',
        'secret' => 'garbage'
    ]
]);


$bucketName = 'garbage';
$file_Path = __DIR__ . '/my-image.png';
$key = basename($file_Path);

// Upload a publicly accessible file. The file size and type are determined by the SDK.
try {
    $result = $s3->putObject([
        'Bucket' => $bucketName,
        'Key'    => 'videouploads/' . $key,
        'Body'   => fopen($file_Path, 'r'),
        'ACL'    => 'public-read',
    ]);
    echo $result->get('ObjectURL');
} catch (Aws\S3\Exception\S3Exception $e) {
    echo "There was an error uploading the file.\n";
    echo $e->getMessage();
}


?>

对应的错误无法解决主机的
错误。请参阅中的
CURLE\u couldn\u RESOLVE\u HOST(6)
. 这表明lib无法到达代码引用的S3端点

检查代码时,区域定义似乎不正确。您已将该地区定义为
“地区”=>“美国西部”
。没有这样的地区。使用错误的区域名称可能解释了主机未找到错误。它试图访问不存在的区域中的主机名,并生成错误6


将该区域值替换为
us-west-1
us-west-2
,然后重试

我想你应该检查一下你所在的地区。看到这个了吗