文章详情
php使用阿里云短信sdk(CentOS)
Posted on 2018-05-12 18:48:29 by 主打一个C++
环境要求
- 最低要求 PHP 5.6
- 必须在系统上全局安装 Composer
- ⚠️注意:执行 composer 安装 SDK 的 PHP 版本要小于或等于实际运行时的 PHP 版本。 例如,在 PHP7.2 环境下安装 SDK 后生成 vendor 目录,只能在 PHP7.2 以上版本使用,如果拷贝到 PHP5.6 环境下使用,会出现依赖版本不兼容问题。
一些用户可能由于网络问题无法安装,可以通过以下命令使用阿里云 Composer 全量镜像。
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
发布地址 https://packagist.org/packages/alibabacloud/dysmsapi-20170525#3.1.0
源码仓库地址 https://github.com/alibabacloud-sdk-php/dysmsapi-20170525/
安装方式:
composer require alibabacloud/dysmsapi-20170525 3.1.0
CentOS 7最后使用:
1. 更改源
composer config -g repo.packagist composer https://packagist.phpcomposer.com
2. 下载sdk
composer require alibabacloud/sdk
//官方Demo
<?php
// This file is auto-generated, don't edit it. Thanks.
namespace AlibabaCloud\SDK\Sample;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi;
use AlibabaCloud\Tea\Utils\Utils;
use AlibabaCloud\Tea\Console\Console;
use \Exception;
use AlibabaCloud\Tea\Exception\TeaError;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
class Sample {
/**
* 使用AK&SK初始化账号Client
* @return Dysmsapi Client
*/
public static function createClient(){
// 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
// 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/311677.html。
$config = new Config([
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
"accessKeyId" => getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
"accessKeySecret" => getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET')
]);
// Endpoint 请参考 https://api.aliyun.com/product/Dysmsapi
$config->endpoint = "dysmsapi.aliyuncs.com";
return new Dysmsapi($config);
}
/**
* @param string[] $args
* @return void
*/
public static function main($args){
$client = self::createClient();
$sendSmsRequest = new SendSmsRequest([
"signName" => "阿里云短信测试",
"templateCode" => "SMS_154950909",
"phoneNumbers" => "18599304133",
"templateParam" => "{\"code\":\"1234\"}"
]);
$runtime = new RuntimeOptions([]);
try {
$resp = $client->sendSmsWithOptions($sendSmsRequest, $runtime);
Console::log(Utils::toJSONString($resp));
}
catch (Exception $error) {
if (!($error instanceof TeaError)) {
$error = new TeaError([], $error->getMessage(), $error->getCode(), $error);
}
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
// 错误 message
var_dump($error->message);
// 诊断地址
var_dump($error->data["Recommend"]);
Utils::assertAsString($error->message);
}
}
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
require_once $path;
}
Sample::main(array_slice($argv, 1));
*转载请注明出处:原文链接:https://cpp.vin/page/104.html