【问题标题】:PHP Fatal error: Uncaught Error: Class 'Aws\Common\Aws' not found in test.phpPHP 致命错误:未捕获的错误:在 test.php 中找不到类“Aws\Common\Aws”
【发布时间】:2017-01-06 03:40:20
【问题描述】:

我使用 composer 方法安装了基于 http://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html 的 AWS PHP SDK v3。尝试了一个简单的示例,但收到此错误:

PHP Fatal error:  Uncaught Error: Class 'Aws\Common\Aws' not found in test.php

代码:

<?php

// Include the SDK using the Composer autoloader
require 'vendor/autoload.php';

use Aws\Common\Aws;

$aws = Aws::factory('./cfg.php');

/* CODE BELOW WORKS FINE BY ITSELF
$s3 = new Aws\S3\S3Client([
    'version' => 'latest',
    'region'  => 'us-west-1',
    'credentials' => [
        'key'    => '***',
        'secret' => '***'
    ],
]);

$result = $s3->listBuckets();

foreach ($result['Buckets'] as $bucket) {
    // Each Bucket value will contain a Name and CreationDate
    echo "{$bucket['Name']} - {$bucket['CreationDate']}\n";
}
*/
?>

我的 PHP 版本:

PHP 7.1.0alpha2 (cli) (built: Jun 27 2016 22:39:02) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies

我尝试包含 aws.phar 但仍然没有用。

【问题讨论】:

  • 我认为您使用了错误的命名空间。你为什么使用Aws\Common\Aws?查看source 我找不到那个命名空间。
  • @sebastianForsberg 我遵循了 AWS 网站上的一些示例。我的意图是使用 AWS 的 KMS API。我需要运行“$result = $client->listKeys([]);” - 所以需要一个客户端对象 - 我如何得到它?

标签: php amazon-web-services sdk


【解决方案1】:

不确定./cfg.php 包含什么,但如果您遵循您的注释代码。

您可以使用Aws\Kms\KmsClient 并执行以下操作:

require 'vendor/autoload.php';

$client = Aws\Kms\KmsClient::factory(/*Config Array or Guzzle Http Client*/);

$result = $client->listKeys();

请注意,Aws\Kms\KmsClientAws\AwsClient 几乎是同一个客户端

Further info on that config needed to create the client

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    • 2018-01-04
    相关资源
    最近更新 更多