简介: Alibaba Cloud SDK for PHP是支持PHP开发者快速访问阿里云服务的开发包,由Alibaba Cloud Client for PHP提供底层支持。Alibaba Cloud SDK for PHP让您不用复杂编程即可访问云服务器、云数据库RDS和云监控等多个阿里云服务。本文将为大家介绍PHP SDK的安装与调用过程。

69.jpeg


镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

一、环境准备

  • 您需要一个RAM账号以及一对AccessKey ID和AccessKey Secret。请在阿里云控制台中的AccessKey管理页面上创建和查看您的AccessKey,或联系您的系统管理员。
  • 使用Alibaba Cloud SDK for PHP调用某个产品的API前,确保您已经在阿里云控制台开通了该产品。
  • 已安装PHP。Alibaba Cloud SDK for PHP适用于PHP 5.5.0或更高版本。 您可以通过php -v命令查看当前使用的PHP版本号。

说明 如果您使用了RsaKeyPair客户端(仅支持日本站),还需要安装OpenSSL PHP扩展

  • 安装cURL,并使用TLS后端编译cURL 7.16.2+。

二、安装Alibaba Cloud SDK for PHP

您可以通过如下两种方式安装Alibaba Cloud SDK for PHP:

  • (推荐)通过Composer安装依赖。Composer是一款PHP工具,用于管理和安装项目的依赖项。
  • 下载使用包含所有类和依赖项的ZIP文件。点击 sdk .zip 下载压缩包,并在项目中的选定位置解压,以获取Alibaba Cloud SDK for PHP。

完成以下操作,通过Composer安装Alibaba Cloud SDK for PHP作为依赖项。
1、下载并安装Composer。

  • Linux/MacOS:
curl -sS https://getcomposer.org/installer | php
  • 假设下载composer.phar二进制文件至当前目录$HOME中。
  • Windows:单击这里下载并安装Composer。

2、设置环境变量。

  • Linux/MacOS:

说明 完成本步骤之前,请确保PATH系统变量值中存在/usr/local/bin路径,否则请您根据实际情况为Composer设置可用的环境变量。

执行以下命令,将composer.phar二进制文件移动到全局环境/usr/local/bin/composer目录下。
点击 试用 可进入调用模式

sudo mv composer.phar /usr/local/bin/composer
  • 成功设置环境变量后,您就可以直接在您的终端使用composer命令了。
  • Windows:安装Composer过程中会自动配置环境变量,请跳过此步骤。

3、执行以下命令,安装Alibaba Cloud SDK for PHP至当前目录下。

composer require alibabacloud/sdk


说明 若由于网络问题无法正常安装,您可以使用阿里云Composer全量镜像

4、在PHP脚本中引入Composer自动加载工具。

<?php
require __DIR__ . '/vendor/autoload.php';

三、调用Alibaba Cloud SDK for PHP

以下代码示例展示了调用阿里云产品云服务器ECS的简单操作。详细说明,请参见使用说明

<?php
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Ecs\Ecs;
// 使用您获取的凭证设置全局客户端
// AlibabaCloud::accessKeyClient('accessKeyId', 'accessKeySecret')->asDefaultClient();
AlibabaCloud::accessKeyClient('foo', 'bar')
            ->regionId('cn-hangzhou')
            ->asDefaultClient();
try {
    // 访问产品 APIs
    $request = Ecs::v20140526()->describeRegions();
    // 设置选项/参数并执行请求
    $result = $request->withResourceType('type') // API 的参数
                      ->withInstanceChargeType('type') // API 的参数
                      ->client('client1') // 指定发送客户端,否则使用全局客户端
                      ->debug(true) // 开启调试会输出详细信息
                      ->connectTimeout(0.01) // 连接超时会抛出异常
                      ->timeout(0.01) // 超时会抛出异常
                      ->request(); // 执行请求
    // 也可以传入数组设置
    $options = [
                   'debug'           => true,
                   'connect_timeout' => 0.01,
                   'timeout'         => 0.01,
                   'query'           => [
                       'ResourceType' => 'type',
                       'InstanceChargeType' => 'type',
                   ],
               ];
    // 设置的优先级
    $result2 = Ecs::v20140526()
                  ->describeRegions($options)
                  ->options([
                                'query' => [
                                    'Key'      => '我会覆盖构造函数的这个值',
                                    'new'      => '我是新增的值',
                                ],
                            ])
                  ->options([
                                'query' => [
                                    'Key' => '我会覆盖以前的值',
                                    'bar' => '我是新增的值',
                                ],
                            ])
                  ->debug(false) // 最后调用的会覆盖前者
                  ->request();
} catch (ClientException $exception) {
    echo $exception->getMessage(). PHP_EOL;
} catch (ServerException $exception) {
    echo $exception->getMessage() . PHP_EOL;
    echo $exception->getErrorCode(). PHP_EOL;
    echo $exception->getRequestId(). PHP_EOL;
    echo $exception->getErrorMessage(). PHP_EOL;
}

 本文转自:PHP SDK 的安装与调用-阿里云开发者社区

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐