2015-11-20 43 views
-1

我正在使用getObjectInfo($bucket, $fileUri)來獲取S3上文件的詳細信息。S3 :: getObjectInfo [403]意外的HTTP狀態

相同的代碼工作的一個EC2實例&,我發現了以下回應:

object(stdClass)#10 (4) { 
    ["error"]=> 
    bool(false) 
    ["body"]=> 
    NULL 
    ["headers"]=> 
    array(5) { 
    ["date"]=> 
    int(1447937934) 
    ["time"]=> 
    int(1447835426) 
    ["hash"]=> 
    string(32) "9841b46a11dfe58z86196cfr812i81sv" 
    ["type"]=> 
    string(24) "application/octet-stream" 
    ["size"]=> 
    int(5415) 
    } 
    ["code"]=> 
    int(200) 
} 

但是,當我從本地機器上嘗試相同的代碼,我發現了以下回應:

object(stdClass)#10 (4) { 
    ["error"]=> 
    bool(false) 
    ["body"]=> 
    NULL 
    ["headers"]=> 
    array(2) { 
    ["type"]=> 
    string(15) "application/xml" 
    ["date"]=> 
    int(1447935810) 
    } 
    ["code"]=> 
    int(403) 
} 

而且這樣的警告:

PHP Warning: S3::getObjectInfo(bucket01,folder1/2015_01_01/abcdefgh/abcdefgh.txt): [403] Unexpected HTTP status in /abc/def/S3.php on line 355 

我使用亞馬遜S3以下鏈接爲REST的PHP類:http://undesigned.org.za/2007/10/22/amazon-s3-php-class

我覺得S3存儲桶策略存在問題,但不知道是什麼。 任何建議將會非常有幫助。

回答

0

該問題的主要原因是本地機器中的AWS CLI版本不匹配。

在所有本地機器上安裝了最新版本的AWS CLI,並解決了問題。

現在我得到200(OK)狀態爲我的所有請求。

相關問題