Composer 已安装的 Amazon AWS SES PHP 类不可用


Composer installed Amazon AWS SES PHP Classes not available

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

根级别的 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();

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

问题比这更简单。你有:

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',
));