

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 适用于 PHP 的 SDK 中的 `ini` 提供程序
<a name="ini-provider"></a>

 `Aws\Credentials\CredentialProvider::ini` 尝试从共享的 `config` 和 `credentials` 文件中加载凭证。默认情况下，SDK 会尝试从位于的共享 AWS `credentials`文件中加载 “默认” 配置文件`~/.aws/credentials`。如果 SDK 找到了`AWS_SDK_LOAD_NONDEFAULT_CONFIG`环境变量，它还会在位于的共享 AWS `config`文件中检查 “默认” 配置文件`~/.aws/config`。

```
use Aws\Credentials\CredentialProvider;
use Aws\S3\S3Client;

$provider = CredentialProvider::ini();
// Cache the results in a memoize function to avoid loading and parsing
// the ini file on every API operation
$provider = CredentialProvider::memoize($provider);

$client = new S3Client([
    'region'      => 'us-west-2',
    'version'     => '2006-03-01',
    'credentials' => $provider
]);
```

您可以通过向创建提供程序的函数提供参数来使用自定义配置文件或 .ini 文件位置。

```
$profile = 'production';
$path = '/full/path/to/credentials.ini';

$provider = CredentialProvider::ini($profile, $path);
$provider = CredentialProvider::memoize($provider);

$client = new S3Client([
    'region'      => 'us-west-2',
    'version'     => '2006-03-01',
    'credentials' => $provider
]);
```