首页 > 编程 > PHP > 正文

AWS(Amazon Web Service) SDK for PHP配置教程

2020-03-22 18:02:10
字体:
来源:转载
供稿:网友
  • 本教程介绍了AWS(Amazon Web Service) SDK for PHP的配置过程。

    本教程参考了AWS(Amazon Web Service)的官方文档,并加入一些细节,及过程中可能会遇到的错误的解决办法。

    我测试了两个环境,安装方法一样。
    Linux环境: CentOS 6.3/Amazon Linux AMI 2013.3
    PHP版本: 5.3.3/5.3.27
    安装方式: PEAR

    安装步骤:
    1.添加 aws的channel

      pear channel-discover pear.amazonwebservices.com  

    2.PEAR安装 aws-sdk

      pear install aws/sdk  

    可能会报错:

       Unknown remote channel: guzzlephp.org/pearaws/sdk requires package "channel://guzzlephp.org/pear/Guzzle" (version >= 3.0.3)No valid packages foundinstall failed  

    不要怕,这是因为找不到guzzlephp.org/pear这个channel造成的,我们只需穴ky"http://www.it165.net/qq/" target="_blank" html' target='_blank'>class="keylink">qqw0dXiuPZjaGFubmVsvNPJz77NusPBy6GjPC9wPg0KPHByZSBjbGFzcz0="brush: bash; title: ; notranslate" title=""> pear channel-discover guzzlephp.org/pear

    然后再次执行

      pear install aws/sdk  

    这时可能还会报错,信息跟上面的类似,又是找不到symfony的channel,没事,再把它添加上。

      pear channel-discover  pear.symfony.com  

    再次安装aws/sdk应该就没问题啦。

      pear install aws/sdk  

    如果还报错,按照上面的方法解决。

    至此安装完成,现在我们可以通过PHP调用Amazon DynamoDB,S3(Simple Storage Service)等服务啦。

    接下来在PHP中测试这个SDK。
    在PHP代码中加入下面一行

        require 'AWSSDKforPHP/aws.phar';  

    如果不报错,说明SDK已成功配置。

    下面附上一段PHP调用Amazon S3 (Simple Storage Service)服务的代码,用到了上面的SDK。


    <?php  require 'AWSSDKforPHP/aws.phar';  use Aws/S3/S3Client;  //构造S3客户端  $client = S3Client::factory(array(    'key'    => 'your key',    'secret' => 'your key secrt'  ));    //列出所有buckets  $result = $client->listBuckets();  foreach ($result['Buckets'] as $bucket) {    // Each Bucket value will contain a Name and CreationDate    //var_dump($bucket);    echo "{$bucket['Name']} - {$bucket['CreationDate']}/n";   //循环列出该bucket下的所有文件    $iterator = $client->getIterator('ListObjects', array(    'Bucket' => $bucket['Name']   ));   foreach ($iterator as $object) {    var_dump($object);    echo "<br/>";   }   }  //上传一个文件。  $client->putObject(array(    'Bucket' => "yourbucketname",    'Key'    => 'data_from_stream.txt',    'Body'   => "测试中文"    ));    ?>

    PHP编程

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表