亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

litespeed php 不會為 Amazon 產品 API 生成正確簽名的請求

litespeed php 不會為 Amazon 產品 API 生成正確簽名的請求

PHP
波斯汪 2023-09-08 14:22:01
我直接從 Amazon 的暫存器 ( https://webservices.amazon.com/paapi5/scratchpad/index.html )獲取了以下 PHP 代碼,他們在其中提供了樣板代碼來查詢其產品 API。我只對其進行了一點點修改以顯示 HTTP 錯誤 - 其他所有內容都是直接復制和粘貼。我輸入了自己的憑據(訪問密鑰、密鑰和合作伙伴標簽),代碼在我自己的 macOS 筆記本電腦上完美運行,運行(常規)PHP 7.1.23。我將代碼移至我的個人服務器,它運行完美,運行 PHP 5.3.10-1ubuntu3.26當我將相同的代碼移動到客戶的服務器時,我從 Amazon 收到一條錯誤消息,指出請求未正確簽名。錯誤是:{"__type":"com.amazon.paapi5#InvalidSignatureException","Errors":[{"Code":"InvalidSignature","Message":"The request has not been correctly signed. If you are using an AWS SDK, requests are signed for you automatically; otherwise, go to https://webservices.amazon.com/paapi5/documentation/sending-request.html#signing."}]}在該機器上, lsphp --version 返回PHP 7.0.27 (litespeed) (built: Jan  4 2018 16:01:06)Copyright (c) 1997-2016 The PHP GroupZend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies    with Zend OPcache v7.0.27, Copyright (c) 1999-2017, by Zend Technologieslsphp 可執行文件有何不同,導致其無法生成正確簽名的請求?
查看完整描述

2 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

正如評論中所解決的,如果服務器的時間與實際當前時間有相當大的差異,則哈希函數將產生亞馬遜將拒絕的錯誤結果。

重新配置服務器以使用網絡同步其時鐘,或手動調整以反映正確的時間,以便 PHP 的日期/時間功能開始返回正確的時間。


查看完整回答
反對 回復 2023-09-08
?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

服務器上的時間錯了大約 5 分鐘,這導致 GMT 時間也錯了,然后我猜亞馬遜不喜歡這個請求。

一旦我們調整示例亞馬遜代碼運行完美,一切都很好!

非常感謝,


查看完整回答
反對 回復 2023-09-08
  • 2 回答
  • 0 關注
  • 132 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號