使用PHP SDK 解決Amazon S3 中的「請求簽章不符」錯誤
嘗試建立與Amazon 的連線時使用適用於PHP的AWS 開發工具包的S3 儲存桶時,您可能會遇到錯誤「我們計算的請求簽章與您提供的簽章不符」。這可能是一個令人沮喪的問題,尤其是在花了無數個小時尋找解決方案之後。
故障排除步驟
在這種特定情況下,由於意外來源而發生錯誤 -物件鍵。經過仔細檢查,發現分配給該物件的鍵以句點(.)開頭,表示相對路徑。這個看似無害的字元導致簽章計算失敗。
解決方案
要解決此問題,只需確保物件金鑰不以句點開頭即可。以下程式碼將成功將物件上傳到S3 儲存桶:
$result = $s3Client->putObject(array( 'Bucket' => $bucket, 'Key' => 'images/ABC.jpg', // Key does not start with a period 'Body' => 'Hello World!' ));
透過刪除物件金鑰中的前導句點,簽章計算成功,並且物件已上傳到S3 儲存桶,沒有任何錯誤.
以上是為什麼我的 PHP Amazon S3 上傳失敗並出現「請求簽章不符」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!