我无法使用 AWS SES PHP 类,尽管我已经通过 composer 安装了 AWS PHP 2 开发工具包。
根级别的 PHP 是:
require __DIR__ . '/vendor/autoload.php'; //esto añade lo que gestiona composer
use AwsCommonAws;
use AwsSesSesClient;
$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 AwsCommonAws;
use AwsSesSesClient;
这样,您就重新定义了 Aws
命名空间,使其第二次表示不同的含义。如果您实际上没有使用 AwsCommonAws
,那么不要use
它。
require __DIR__ . '/vendor/autoload.php';
use AwsSesSesClient;
$client = SesClient::factory(array(
'key' => $userid,
'secret' => $secret,
'region' => 'us-east-1',
));