致命错误:Class' Aws \ Sdk'在/var/www/html/index.php中找不到

时间:2015-12-15 19:47:22

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

我刚接触AWS&我已按照以下说明设置了LAMP服务器:

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

我得到"致命错误:上课' Aws \ Sdk'找不到"。

我可以在这里看到SDK:

的/ var / www / html等/供应商/ AWS / AWS-SDK-PHP

是否有需要知道路径的某个配置文件?

<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'
]);
?>
谢谢你!

1 个答案:

答案 0 :(得分:3)

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();