2

composer 経由で AWS PHP 2 SDK を既にインストールしていますが、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
                )
);

ブラウザの実行はこれを返します:

致命的なエラー: クラス 'Aws\Common\Aws\Ses\SesClient' が /homepages/13/d357210024/htdocs/api/sendses.php の 41 行目に見つかりません

ルートの 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名前空間を再定義して、2 回目は別の意味になります。実際に を使用していない場合は、使用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 に答える