【问题标题】:getting error AWS HTTP error: cURL error 6: when creation bucket using 3.52 php sdk收到错误 AWS HTTP 错误:cURL 错误 6:使用 3.52 php sdk 创建存储桶时
【发布时间】:2018-07-19 19:18:15
【问题描述】:

我正在使用自己的云存储 Rados s3 服务器并尝试使用 3.52 php AWS sdk 创建存储桶。以下是我在控制台中运行的代码:

    require 'vendor/autoload.php';
    use Aws\S3\S3Client;
    use Aws\Credentials\CredentialProvider;
    $Connection = new S3Client([
    'region'      => 'us-west-2',
    'version'     => 'latest',
    'endpoint' => 'http://XXX.XX.XX.XXX',
    'credentials' => [
        'key'    => 'xx',
        'secret' => 'XX'
    ],
]);

//create a bucket
$promise =$Connection->createBucket(array('Bucket' => 'pankaj'));

我遇到了致命错误

致命错误:未捕获的异常 'Aws\S3\Exception\S3Exception' 带有消息“在“http://pankaj.XXX.XX.XX.XXX/”上执行“CreateBucket”时出错; AWS HTTP 错误:cURL 错误 6:无法解析主机:pankaj.XXX.XX.XX.XXX; /var/www/html/object/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php 第 191 行中的名称或服务未知(请参阅 http://curl.haxx.se/libcurl/c/libcurl-errors.html

【问题讨论】:

    标签: php amazon-web-services amazon-s3 aws-sdk


    【解决方案1】:

    我认为它不接受您定义的终点。 请在您的客户端连接中使用添加此密钥 'use_path_style_endpoint' => true

    例子:

    $s3Client = new S3Client([
        'region' => 'us-west-2',
        'version' => '2006-03-01',
        'use_path_style_endpoint' => true
    ]);
    

    【讨论】:

      【解决方案2】:

      从客户端配置中删除endpoint

      require 'vendor/autoload.php';
      use Aws\S3\S3Client;
      use Aws\Exception\AwsException;
      
      $BUCKET_NAME='<BUCKET-NAME>';
      //Create a S3Client
      $s3Client = new S3Client([
          'region' => 'us-west-2',
          'version' => '2006-03-01'
      ]);
      //Creating S3 Bucket
      try {
          $result = $s3Client->createBucket([
              'Bucket' => $BUCKET_NAME,
          ]);
      }catch (AwsException $e) {
          // output error message if fails
          echo $e->getMessage();
          echo "\n";
      }
      

      【讨论】:

      • thx @Anuruddha 我正在使用自己的服务器,因此默认情况下我不能使用像pankaj.s3.us-west-2.amazonaws.com这样的亚马逊服务器
      • @PankajYadav 使用自己的服务器是什么意思?您不是使用 AWS 客户端 SDK 调用 AWS 服务吗?
      • 我正在使用自己的云存储 Rados s3 服务器并想使用 AWS 客户端 SDK。我得到了连接到服务器的示例代码:docs.ceph.com/docs/master/radosgw/s3/php
      • @PankajYadav 请考虑使用该详细信息更新问题
      猜你喜欢
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-14
      • 2017-09-13
      • 2020-07-16
      • 2020-09-04
      • 1970-01-01
      相关资源
      最近更新 更多