AWS SDK PHP SesClient硬编码凭证配置失败求助
问题解决:AWS SDK PHP SesClient硬编码凭证报错
核心问题
你的SesClient初始化代码里,credentials数组的key字段后面多了一个多余的逗号:
'key' => KEY,,
这个语法错误会导致PHP无法正确解析凭证数组,AWS SDK因此 fallback 到默认的凭证读取路径(/.aws/credentials),从而抛出错误。而S3Client的代码没有这个语法问题,所以能正常读取硬编码凭证。
修正后的SesClient代码
use Aws\Ses\SesClient; $SesClient = new SesClient([ 'version' => 'latest', 'region' => 'us-east-1', 'credentials' => [ 'key' => KEY, 'secret' => SECRET ], ]);
额外排查建议
- 确保
KEY和SECRET是实际的AWS访问密钥,而非占位符 - 检查PHP版本是否符合AWS SDK PHP的要求(推荐PHP 7.4+)
- 确认你的AWS账号拥有SES服务的访问权限,避免因权限不足导致其他问题
内容的提问来源于stack exchange,提问作者Nathan Almeida
相关产品推荐
相关产品推荐

