我正在尝试连接到 AWS Connect 实例以读取案例和关联的联系人记录。我首先使用一个简单的控制器只是为了正确设置连接和 API 调用。我正在使用 CodeIgniter 4.6,在使用 PHP 8.3 的 Wampserver 上运行。
看起来基本设置是正确的,如果我只运行简单的默认控制器,我会受到 CodeIgniter 的欢迎。我还使用 Composer 安装了 AWS PHP SDK-V3。
以下是我必须设置 AWS 命名空间并调用 SDK 中适当的 AWS API 方法的代码:
require '../vendor/autoload.php';
use Aws\ConnectCases\ConnectCasesClient;
use Aws\Exception\AwsException;
use Aws\Common\Credentials\Credentials;
class Home extends BaseController
{
public function index(): string
{
echo ('does it exist?: <br />');
var_dump(class_exists('AWS\ConnectCases\ConnectCasesClient'));
exit;
$ccClient = new ConnectCasesClient([
'region' => 'us-east-1',
'version' => 'latest',
'key' => 'xxxxxxxxx',
'secret' => 'xxxxxxxxx',
'token' => 'xxxxxxxxx'
]);
class_exists
报告 False,这表明 AWS 命名空间未正确设置或找到。如果删除 exit;
,我会收到 Http 500 服务器错误。我确信这是一些愚蠢的配置错误,有人能指出我正确的方向吗?
附加信息: 作曲家 json:
{
"require": {
"codeigniter4/framework": "^4.6",
"aws/aws-sdk-php": "^3.337"
}
}
这是供应商文件夹的目录列表:
有多个问题需要解决。
这是更新后的脚本:
use Aws\ConnectCases\ConnectCasesClient;
use Aws\Exception\AwsException;
class Home extends BaseController
{
public function index(): string
{
// Verify class existence with correct namespace casing
var_dump(class_exists('Aws\ConnectCases\ConnectCasesClient'));
$ccClient = new ConnectCasesClient([
'region' => 'us-east-1',
'version' => 'latest',
'credentials' => [
'key' => 'xxxxxxxxx',
'secret' => 'xxxxxxxxx',
// 'token' => '...' // Include only if using session tokens
]
]);
// Rest of your logic
}
}
还运行以下 Composer 命令来重新生成自动加载映射:
composer dump-autoload