日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

PHP初始化

OssClientOSSPHP客戶端,用于管理存儲空間和文件等OSS資源。使用PHP SDK發起OSS請求時,您需要初始化一個OssClient實例,并根據需要修改默認配置項。

新建OssClient

V4簽名(推薦)

推薦使用更安全的V4簽名算法。使用V4簽名初始化時,除指定Endpoint以外,您還需要指定阿里云通用Region ID作為發起請求地域的標識,示例值為cn-hangzhou。同時聲明OssClient::OSS_SIGNATURE_VERSION_V4。OSS PHP SDK 2.7.0及以上版本支持V4簽名。

以使用OSS域名新建OssClient時使用V4簽名為例,其他通過自定義域名、STS等新建OssClient的場景可參考以下示例執行相應修改。

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\Core\OssException;

try {
    // 從環境變量中獲取訪問憑證,并保存在provider中。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
    $provider = new EnvironmentVariableCredentialsProvider();
    // 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
    $endpoint = "https://oss-cn-hangzhou.aliyuncs.com";    
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,        
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        // 填寫Endpoint對應的Region信息,例如cn-hangzhou。
        "region" => "cn-hangzhou"
    );
    $ossClient = new OssClient($config);
} catch (OssException $e) {
    printf($e->getMessage() . "\n");
    return;
}

V1簽名(不推薦)

重要

阿里云對象存儲OSS20250301日起不再對新用戶(即新UID )開放使用V1簽名,并將于20250901日起停止更新與維護且不再對新增Bucket開放使用V1簽名。請盡快切換到V4簽名,避免影響服務。更多信息,請參見公告說明

使用OSS域名新建OssClient

以下代碼使用OSS域名新建OssClient。關于不同地域的OSS域名,請參見OSS地域和訪問域名

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\CoreOssException;

// 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。 
$provider = new EnvironmentVariableCredentialsProvider();
// Endpoint以杭州為例,其它Region請按實際情況填寫。
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";

try {
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint
    );
    $ossClient = new OssClient($config);
} catch (OssException $e) {
    print $e->getMessage();
}
                    

使用自定義域名新建OssClient

以下代碼使用自定義域名新建OssClient。關于使用自定義域名訪問OSS的更多信息,請參見綁定自定義域名至Bucket默認域名

重要

使用自定義域名時,無法使用listBuckets方法。

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\CoreOssException;

// 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。 
$provider = new EnvironmentVariableCredentialsProvider();
// 填寫自定義域名,例如http://example.com。
$endpoint = "http://example.com";

try {
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "cname"	=> true
    );
    $ossClient = new OssClient($config);    
} catch (OssException $e) {
    print $e->getMessage();
}    
                

使用STS新建OssClient

以下代碼用于使用STS新建一個OssClient。

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\Core\OssException;
// 運行本代碼示例之前,請確保已在環境變量中配置STS的訪問密鑰(AccessKey ID和AccessKey Secret)和安全令牌(SecurityToken)。
$provider = new EnvironmentVariableCredentialsProvider();
// Endpoint以杭州為例,其它Region請按實際情況填寫。
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";

try {
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,        
    );
    $ossClient = new OssClient($config);
} catch (OssException $e) {
    print $e->getMessage();
}
                    
                    

使用EcsRamRole新建OssClient

在云服務器ECS上,您可以通過實例RAM角色的方式訪問OSS。實例RAM角色允許您將一個角色關聯到云服務器實例,在實例內部基于臨時憑證STS訪問OSS。臨時憑證由系統自動生成和更新,應用程序可以使用指定的實例元數據URL獲取臨時憑證。

重要

使用EcsRamRole新建OssClient之前,您需要執行以下命令通過composer的方式安裝SDK。

composer require alibabacloud/credentials

以下代碼用于使用EcsRamRole新建OssClient。

<?php

if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
  }
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\Credentials\CredentialsProvider;
use AlibabaCloud\Credentials\Credential;
use OSS\Credentials\StaticCredentialsProvider;
use OSS\Core\OssException;
use OSS\OssClient;
class AlibabaCloudCredentialsWrapper implements CredentialsProvider{
    /**
     * @var \OSS\Credentials\Credentials
     */
    private $wrapper;
    public function __construct($wrapper){
        $this->wrapper = $wrapper;
    }
    public function getCredentials(){
        $ak = $this->wrapper->getAccessKeyId();
        $sk = $this->wrapper->getAccessKeySecret();
        $token = $this->wrapper->getSecurityToken();
        return new StaticCredentialsProvider($ak, $sk, $token);
    }
}
$ecsRamRole = new Credential(array(
    // 填寫Credential類型,固定值為ecs_ram_role。
    'type'      => 'ecs_ram_role',
    // 填寫角色名稱。
    'role_name' => 'EcsRamRoleOssTest',
));
$providerWarpper = new AlibabaCloudCredentialsWrapper($ecsRamRole);
$provider = $providerWarpper->getCredentials();
$config = array(
    'provider' => $provider,
    // 以華東1(杭州)為例,填寫為https://oss-cn-hangzhou.aliyuncs.com。其他Region請按實際情況填寫。
    'endpoint'=> 'https://oss-cn-hangzhou.aliyuncs.com'
);
try {
    $ossClient = new OssClient($config);
} catch (OssException $e) {
    print $e->getMessage();
}

使用STSAssumeRole新建OssClient

重要

使用STSAssumeRole新建OssClient之前,您需要執行以下命令通過composer的方式安裝SDK。

composer require alibabacloud/credentials

以下代碼用于使用STSAssumeRole新建OssClient。

<?php

if (is_file(__DIR__ . '/../autoload.php')) {
 require_once __DIR__ . '/../autoload.php';
 }
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
 require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\Credentials\CredentialsProvider;
use AlibabaCloud\Credentials\Credential;
use OSS\Credentials\StaticCredentialsProvider;
use OSS\Core\OssException;
use OSS\OssClient;
class AlibabaCloudCredentialsWrapper implements CredentialsProvider{
 /**
 * @var \OSS\Credentials\Credentials
 */
 private $wrapper;
 public function __construct($wrapper){
 $this->wrapper = $wrapper;
 }
 public function getCredentials(){
 $ak = $this->wrapper->getAccessKeyId();
 $sk = $this->wrapper->getAccessKeySecret();
 $token = $this->wrapper->getSecurityToken();
 return new StaticCredentialsProvider($ak, $sk, $token);
 }
}
$ramRoleArn = new Credential(array(
 // 填寫Credential類型,固定值為ram_role_arn。
 'type' => 'ram_role_arn',
 // 運行本代碼示例之前,請確保已使用RAM用戶的訪問密鑰設置環境變量YOUR_ACCESS_KEY_ID和YOUR_ACCESS_KEY_SECRET。
 'access_key_id' => getenv('YOUR_ACCESS_KEY_ID'),
 'access_key_secret' => getenv('YOUR_ACCESS_KEY_SECRET'),
 // 填寫角色的ARN信息,即需要扮演的角色ID。格式為acs:ram::$accountID:role/$roleName。
 'role_arn' => 'acs:ram::17464958********:role/ossststest',
 // 自定義角色會話名稱,用于區分不同的令牌。
 'role_session_name' => 'yourRoleSessionName',
 // 自定義權限策略。
 'policy' => '',
));
$providerWarpper = new AlibabaCloudCredentialsWrapper($ramRoleArn);
$provider = $providerWarpper->getCredentials();
$config = array(
 'provider' => $provider,
 // 以華東1(杭州)為例,填寫為https://oss-cn-hangzhou.aliyuncs.com。其他Region請按實際情況填寫。
 'endpoint'=> 'https://oss-cn-hangzhou.aliyuncs.com'
);
try {
 $ossClient = new OssClient($config);
 var_dump($ossClient);
} catch (OssException $e) {
 print $e->getMessage();
}

配置OssClient

您可以通過OssClient配置代理、連接超時、最大連接數等參數。

參數

描述

方法

timeout

設置Socket層傳輸數據的超時時間 ,默認值為5184000,單位為秒。

$ossClient->setTimeout(60);

connectTimeout

設置建立連接的超時時間,默認值為10,單位為秒。

$ossClient->setConnectTimeout(600);

maxRetries

請求失敗后最大的重試次數。默認3次。

$ossClient->setMaxTries(5);

useSSL

是否開啟SSL證書校驗。取值如下:

  • true:開啟SSL證書校驗。

  • false(默認值):關閉SSL證書校驗。

$ossClient->setUseSSL(true);

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\CoreOssException;
// 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。 
$provider = new EnvironmentVariableCredentialsProvider();
// Endpoint以杭州為例,其它Region請按實際情況填寫。
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";

try {
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);
    // 設置建立連接的超時時間。
    $ossClient->setConnectTimeout(300);
    // 設置失敗請求重試次數。
    $ossClient->setMaxTries(5);    
    // 設置Socket層傳輸數據的超時時間。
    $ossClient->setTimeout(30);
    // 設置是否開啟SSL證書校驗。
    $ossClient->setUseSSL(true);
} catch (OssException $e) {
    print $e->getMessage();
}            

配置代理服務器

PHP 5.3及以上版本支持配置代理服務器。

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\Core\OssException;
// 運行本代碼示例之前,請確保已在環境變量中配置STS的訪問密鑰(AccessKey ID和AccessKey Secret)和安全令牌(SecurityToken)。
$provider = new EnvironmentVariableCredentialsProvider();
// Endpoint以杭州為例,其它Region請按實際情況填寫。
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// 設置代理服務器地址,例如http://<用戶名>:<密碼>@<代理ip>:<代理端口>。
$request_proxy = "yourRequestProxy"
try {
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "request_proxy"=> $request_proxy,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);    
} catch (OssException $e) {
    print $e->getMessage();
}