Ich habe AWS PHP SDK installiert und versuche, SES zu verwenden. Mein Problem ist, dass es (anscheinend) versucht, ~/.aws/credentials
zu lesen, egal was ich mache. Im Moment habe ich diesen Code:Ich kann meine Anmeldeinformationen nicht an AWS PHP SDK übergeben
$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,
]
));
Und noch bin immer Fehler „Kann nicht Anmeldeinformationen aus ~/.aws/Anmeldeinformationen lesen“ (nach einer Weile).
Ich versuchte 'Credentials' => $ Provider natürlich, das war die Idee, aber da es nicht funktionierte, kehrte ich zu fest codierten Anmeldeinformationen. Ich habe $ S3_AK und $ S3_PK verloren und es geht ihnen gut, ich benutze sie eigentlich korrekt für S3, aber da ist Zends Wrapper. Ich habe ~/.aws/credentials (keine ".ini") zum selben Ergebnis versucht. Beide Dateien haben 777 Berechtigungen.
Neugierige Informationen: Ich musste Speicherlimit auf -1 setzen, so dass es in der Lage wäre, die Ausnahme var_dump. Die HTML zur Ausnahme ist ungefähr 200mb.
Ich würde lieber die Umgebungsvariablen verwenden, obwohl die Credentials-Datei in Ordnung ist. Ich verstehe einfach nicht, warum es so aussieht, als ob ich versuche, die Datei zu lesen, obwohl ich die Zugangsdaten fest programmiert habe.
EDIT: So ein Freund zeigte mir this, entfernte ich das Profil und auch die Versuch/Fang und bemerkte, dass der Client ordnungsgemäß erstellt wird, und der Fehler kommt aus dem Versuch, tatsächlich eine E-Mail zu senden.
sollte nicht Variable 'AWS_ACCESS_KEY_ID' und' AWS_SECRET_ACCESS_KEY' sein? –
Wenn meine Antwort nicht funktioniert, überprüfen Sie die Berechtigungen nicht nur der Datei, sondern der übergeordneten Verzeichnisse der Datei; Der Benutzer, auf dem der Server ausgeführt wird, kann ihn möglicherweise nicht lesen, da er eines der übergeordneten Verzeichnisse nicht öffnen kann. Sie können dies mit etwas wie "sudo -u www-data stat/home/franco/public/site/default.ini" testen, wobei "www-data" der Serverbenutzer ist. – millinon
Frédéric, eine ist die Schlüssel-ID, die andere ist der Zugriffsschlüssel, ich bekomme sie von Umgebungsvariablen. Dennoch ist das Problem, dass es versucht, diese Datei zu lesen, obwohl ich ihm die Anmeldeinformationen explizit erzähle. – shinax