2

尽管我已经通过 composer 安装了 AWS PHP 2 开发工具包,但我无法使用 AWS SES PHP 类。

根级别的 PHP 是:

require __DIR__ . '/vendor/autoload.php'; //esto añade lo que gestiona composer
use Aws\Common\Aws;
use Aws\Ses\SesClient;
$client = SesClient::factory(
                array(
                    'key' => $userid,
                    'secret' => $secret,
                    'region' => 'us-east-1' // SES has only us-east-1 endpoint, but can be used from global
                )
);

浏览器执行返回这个:

致命错误:在第 41 行的 /homepages/13/d357210024/htdocs/api/sendses.php 中找不到类 'Aws\Common\Aws\Ses\SesClient'

根目录下的 composer.json 就是这样:

{
    "require": {
        "aws/aws-sdk-php": "2.*"
    }
}

/vendor 文件夹包含 aws、composer、guzzle 和 symfony 包以及仅包含以下代码的 autoload.php:

<?php

// autoload.php @generated by Composer

require_once __DIR__ . '/composer' . '/autoload_real.php';

return ComposerAutoloaderInita6b8287c70832f4f8a65e83c0ad07b6d::getLoader();

所以...你能指出我在这里缺少什么吗?非常感谢小伙伴们。

4

1 回答 1

4

问题比这更简单。你有:

use Aws\Common\Aws;
use Aws\Ses\SesClient;

有了这个,您已经重新定义了Aws命名空间,使其第二次具有不同的含义。如果您实际上没有使用Aws\Common\Aws,请不要使用use

require __DIR__ . '/vendor/autoload.php';

use Aws\Ses\SesClient;

$client = SesClient::factory(array(
    'key'    => $userid,
    'secret' => $secret,
    'region' => 'us-east-1',
));
于 2013-11-10T11:12:32.997 回答