Maison > développement back-end > tutoriel php > Pourquoi mon téléchargement PHP Amazon S3 échoue-t-il avec une erreur « La signature de la demande ne correspond pas » ?

Pourquoi mon téléchargement PHP Amazon S3 échoue-t-il avec une erreur « La signature de la demande ne correspond pas » ?

DDD
Libérer: 2024-12-05 09:31:13
original
778 Les gens l'ont consulté

Why Does My PHP Amazon S3 Upload Fail with a

Résolution de l'erreur « La signature de la demande ne correspond pas » dans Amazon S3 avec le SDK PHP

Lors de la tentative d'établissement d'une connexion à un Amazon S3 à l'aide du kit AWS SDK pour PHP, vous pouvez rencontrer l'erreur « La signature de la demande que nous avons calculée ne correspond pas à la signature que vous avez fournie. » Cela peut être un problème frustrant, surtout après avoir passé d'innombrables heures à chercher des solutions.

Étapes de dépannage

Dans ce scénario spécifique, l'erreur s'est produite en raison d'une source inattendue : la clé de l'objet. Après un examen plus approfondi, il a été découvert que la clé attribuée à l'objet commençait par un point (.), indiquant un chemin relatif. Ce caractère en apparence anodin a fait échouer le calcul de la signature.

Solution

Pour résoudre ce problème, assurez-vous simplement que la clé de l'objet ne commence pas par un point. Le code suivant permettra de télécharger avec succès un objet dans un compartiment S3 :

$result = $s3Client->putObject(array(
    'Bucket' => $bucket,
    'Key' => 'images/ABC.jpg', // Key does not start with a period
    'Body' => 'Hello World!'
));
Copier après la connexion

En supprimant le point initial de la clé de l'objet, le calcul de la signature a réussi et l'objet a été téléchargé dans le compartiment S3 sans aucune erreur. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal