本教程介紹了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編程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答