本文来自于【阿里云官方镜像站:developer.aliyun.com/mirror/?utm… 】
原文链接:developer.aliyun.com/article/753…
镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站
一、环境准备
您需要一个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 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自动加载工具。
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;\ }