我正在尝试使用 Amazon S3 来存储我的图像。到目前为止,我所做的是通过PEAR安装AWS SDK(链接:http://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 未正确安装...谁能帮我解决这个问题?我正在使用流浪者,所以我使用以下命令在我的根文件夹中安装了 AWS 开发工具包:
须藤梨 -D auto_discover=1 安装 pear.amazonwebservices.com/sdk
我收到消息说安装正常。
我也对我的$client做了var_dump。我的回复链接:http://pastebin.com/KqkEiKGs
现在不要,如果你是它的东西...(我的钥匙是隐藏的(
您的错误消息说明了这一点 - 您正在尝试使用对存储桶不唯一的名称,您应该使用一些更独特的名称。而且,是的,存储桶名称在所有 Amazon S3(不仅是您的账户(中必须是唯一的。
您可以在此处阅读有关它的更多信息。