我正在尝试使用 Amazon S3 来存储我的图像。到目前为止我所做的是通过 PEAR 安装 AWS SDK(链接:http ://docs.aws.amazon.com/aws-sdk-php-2/guide/latest/installation.html ://docs.aws.amazon.com/aws-sdk-php-2/guide/latest/installation.html )
然后我进入第二步,创建一个客户端:
<?php
// Include the SDK using the Composer autoloader
require 'vendor/autoload.php';
use Aws\S3\S3Client;
// Instantiate the S3 client with your AWS credentials and desired AWS region
$client = S3Client::factory(array(
'key' => 'your-aws-access-key-id',
'secret' => 'your-aws-secret-access-key',
));
我的钥匙设置正确......
然后我想通过创建这样的存储桶来测试所有这些:
$bucket = 'my-bucket';
try{
$result = $client->createBucket(array(
'Bucket' => $bucket
));
// Wait until the bucket is created
$client->waitUntil('BucketExists', array('Bucket' => $bucket));
}
catch(Exception $e){
var_dump($e->getMessage());
}
但我总是得到这个错误:
请求的存储桶名称不可用。存储桶命名空间由系统的所有用户共享。请选择其他名称,然后重试。
我认为我的 SDK 没有正确安装......谁能帮我解决这个问题?我正在使用 vagrant,所以我使用以下命令在我的根文件夹中安装了 AWS SDK:
sudo pear -D auto_discover=1 install pear.amazonwebservices.com/sdk
我收到安装正常的消息。
我还对我的 $client 做了一个 var_dump。我的回复的链接:http
://pastebin.com/KqkEiKGs
如果您对此有兴趣,请不要现在...(我的钥匙被隐藏了)