【问题标题】:Fatal error: Class 'Aws\Sdk' not found in /var/www/html/index.php致命错误:在 /var/www/html/index.php 中找不到类“Aws\Sdk”
【发布时间】:2015-12-15 19:47:22
【问题描述】:

我是 AWS 新手,我已根据以下说明设置了 LAMP 服务器:

http://docs.aws.amazon.com/aws-sdk-php/v2/guide/installation.html

我收到“致命错误:找不到类 'Aws\Sdk'”。

我可以看到这里安装了 SDK:

/var/www/html/vendor/aws/aws-sdk-php

是否有需要知道路径的 cenfiguration 文件?

<html>
<head>
</head>
<body>

<?php
use Aws\SDK;

require 'vendor/autoload.php';

ini_set('display_errors', 1); 
error_reporting(E_ALL);

// Fatal error: Class 'Aws\Sdk' not found here
$sdk = new Aws\Sdk([
    'region'   => 'us-west-2',
    'version'  => 'latest'
]);
?>

谢谢!

【问题讨论】:

  • 不,对此一无所知!
  • 对不起,我认为这是一个完全不同的问题......我认为我的解决方案实际上不会为你做任何事情......我的错!

标签: php amazon-web-services amazon-ec2 amazon-dynamodb


【解决方案1】:

该教程建议您安装的 SDK 版本 2 中没有 Aws\Sdk 类。您不实例化 SDK 本身,您需要使用特定的服务。例如,如果您使用的是 S3。

use Aws\S3\S3Client;

$client = S3Client::factory([
    'region' => 'us-east-1',

    // Credentials etc
]);

如果您确实希望使用 API 的第 3 版,请将您的 composer.json 文件更改为阅读

"aws/aws-sdk-php": "^3.11"

而不是

"aws/aws-sdk-php": "2.*"

然后您可以使用 SDK 类来创建客户端。虽然我相信上面的例子也仍然有效。

$sharedConfig = [
    'region'  => 'us-west-2',
    'version' => 'latest'
];

// Create an SDK class used to share configuration across clients.
$sdk = new Aws\Sdk($sharedConfig);

// Create an Amazon S3 client using the shared configuration data.
$client = $sdk->createS3();

【讨论】:

  • 哦,这是非常重要的信息。和我看sdk源码时看到的比较一致。我明天再看看这个。非常感谢!
  • 很抱歉,公司让我转了几天去做别的事情。我会回到这个并报告回来。我期待你是绝对正确的!感谢您的帮助!
  • 感谢您的帮助 - 成功了!也祝圣诞快乐!
  • 优秀。也祝你圣诞快乐!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-24
  • 1970-01-01
  • 1970-01-01
  • 2014-06-23
  • 1970-01-01
  • 2015-05-06
相关资源
最近更新 更多