本教程介绍了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编程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答