TP接入阿里云SDK

摘要:这里主要说接sdk处理服务器的问题

文档地址

https://help.aliyun.com/document_detail/53111.html?spm=a2c4g.11186623.6.654.7a324349GTqdNh

本地测试

<?php
require_once './aliyun-openapi-php-sdk/aliyun-php-sdk-core/Config.php';
use Ecs\Request\V20140526\DescribeInstancesRequest;
$clientProfile = DefaultProfile::getProfile(
    "cn-shenzhen",           # 您的 Region ID
    "xxxx",                          # 您的 AccessKey ID
    "xxxxxxxxsxx"             # 您的 AccessKey Secret
);
$client = new DefaultAcsClient($clientProfile);

# 创建API请求并设置参数
$request = new DescribeInstancesRequest();
$request->setPageSize(10);

# 发起请求并处理返回
try {
    $response = $client->getAcsResponse($request);
    echo '<pre>';
    print_r($response);
} catch(ServerException $e) {
    print "Error: " . $e->getErrorCode() . " Message: " . $e->getMessage() . "\n";
} catch(ClientException $e) {
    print "Error: " . $e->getErrorCode() . " Message: " . $e->getMessage() . "\n";
}
直接将sdk可php放到一个目录下就行

TP框架中使用

use Ecs\Request\V20140526\DescribeInstancesRequest;(类头部,否则报错)
vendor('Aliyun.aliyun-php-sdk-core.Config');  (放到Vendor下,.代表/,#代表.)
        $clientProfile = \DefaultProfile::getProfile(     #这里记得加反斜杠
            "cn-shenzhen",                             # 您的 Region ID
            "LTAIPu8EzeSCGpUn",                         # 您的 AccessKey ID
            "G0WlKA6yHnpa8JZrayqFaVeEmTXTbw"            # 您的 AccessKey Secret
        );
        $client = new \DefaultAcsClient($clientProfile);   #这里记得加反斜杠

        # 创建API请求并设置参数
        $request = new DescribeInstancesRequest();       #这里如果没有上面的use那么等效于\Ecs\Request\V20140526\DescribeInstancesRequest;
评论
  • 2018-12-12 15:05:35 by Eric Guo
    vultr的api地址https://www.vultr.com/api/
  • 2018-11-12 17:40:21 by Eric Guo
    所以引入第三方类注意命名空间的问题
  • 2018-11-12 17:38:02 by Eric Guo
    \ 类前用反斜杠代表全局命名空间,这里如果不想在方法了里面使用 ,那么可以use \DefaultProfile; 结果是相同的。