我安装了 AWS PHP SDK 并尝试使用 SES。~/.aws/credentials
我的问题是,无论我做什么,它(显然)都在尝试阅读。我目前有这个代码:
$S3_AK = getenv('S3_AK');
$S3_PK = getenv('S3_PK');
$profile = 'default';
$path = '/home/franco/public/site/default.ini';
$provider = CredentialProvider::ini($profile, $path);
$provider = CredentialProvider::memoize($provider);
$client = SesClient::factory(array(
'profile' => 'default',
'region' => 'us-east-1',
'version' => "2010-12-01",
'credentials' => [
'key' => $S3_AK,
'secret' => $S3_PK,
]
));
并且仍然收到“无法从 ~/.aws/credentials 读取凭据”错误(一段时间后)。
我当然尝试了 'credentials' => $provider,这是我的想法,但由于它不起作用,我恢复为硬编码的凭据。我已经抛弃了 $S3_AK 和 $S3_PK 并且它们很好,我实际上将它们正确地用于 S3,但是我有 Zend 的包装器。我已经尝试了 ~/.aws/credentials (no ".ini") 以获得相同的结果。这两个文件都有 777 权限。
好奇的信息:我必须将内存限制设置为 -1,以便能够 var_dump 异常。异常的 html 约为 200mb。
我更喜欢使用环境变量,尽管凭证文件很好。我只是不明白为什么它似乎在尝试读取文件,即使我已经硬编码了凭据。
编辑:所以一位朋友向我展示了这个,我删除了配置文件并修改了 try/catch 并注意到客户端似乎已正确创建,并且错误来自尝试实际发送电子邮件。