我嘗試使用下面的代碼來檢查在Amazon S3存儲存在:缺少必要的客戶端的配置選項:區域
$credentials = new Aws\Common\Credentials\Credentials($creds['access_key_id'], $creds['secret_access_key']);
$client = Aws\S3\S3Client::factory(array('credentials' => $credentials));
if(! $client->doesBucketExist($creds['bucket'])) {
throw new Exception("Bucket (" . $creds['bucket'] . ") does not exist.");
}
它工作在localhost(WAMP),但是當我嘗試這個服務器上它無法正常工作。我收到以下錯誤:
Missing required client configuration options: region: (string) A "region" configuration value is required for the "s3" service (e.g., "us-west-2"). A list of available public regions and endpoints can be found at http://docs.aws.amazon.com/general/latest/gr/rande.html . version: (string) A "version" configuration value is required. Specifying a version constraint ensures that your code will not be affected by a breaking change made to the service. For example, when using Amazon S3, you can lock your API version to "2006-03-01". Your build of the SDK has the following version(s) of "s3": * "2006-03-01" You may provide "latest" to the "version" configuration value to utilize the most recent available API version that your client's API provider can find. Note: Using 'latest' in a production application is not recommended. A list of available API versions can be found on each client's API documentation page: http://docs.aws.amazon.com/aws-sdk-php/v3/api/index.html . If you are unable to load a specific API version, then you may need to update your copy of the SDK.
我不知道爲什麼它不工作的服務器,但相同的代碼工作在本地主機上。
您可能在本地主機上的aws配置文件(主目錄中的.aws文件夾)中有默認區域設置,但不在服務器上? – RaGe