阿里云升级版短信验证教程PHP篇
Posted 我因代码而疯狂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云升级版短信验证教程PHP篇相关的知识,希望对你有一定的参考价值。
1.准备工作
如果不想申请签名和模板可以通过阿里云给出的api发送测试(https://dysms.console.aliyun.com/quickstart)来进行检测,绑定手机号码并且填写给出的签名和模板
使用上面方法可以忽略以下2条
1.申请签名
访问阿里云短信服务在左侧导航栏找到国内消息
点击添加签名
按照实际情况选择自用或者他用,我这里选的自用,按照要求填写相关信息,只要备案域名或者是上线app肯定能通过
2.申请模板
可以按照图上填写,也可以按照实际需要填写,关联签名就是第一步申请的签名(如果你已经申请通过点一下就会出现下拉选项),场景链接就是首页的链接。
3.获取AccessKey
阿里云 OpenAPI 开发者门户https://next.api.aliyun.com/api/Dysmsapi/2017-05-25/SendSms?spm=a2c4g.11186623.0.0.76dfde53ReGJAH¶ms=%7B%7D&sdkStyle=dara&lang=php
点击获取AK后跳转界面创建子账户(如果是自己测试,随便玩玩的话,不需要使用子用户避免麻烦,正式开发中建议使用子用户)
访问方式下的Open API调用访问打钩,填写登录名称以及显示名称
创建成功后记录下AccessKey ID和AccessKey Secret
点击左侧导航栏用户
右侧会显示刚刚创建的用户,点击添加权限
搜索短信后显示2条权限,把两条权限全部进行添加
2.下载安装
1.下载完整工程
把下载好的压缩包解压到目录
2.安装SDK依赖
Linux:进入解压的目录
运行命令
composer require alibabacloud/dysmsapi-20170525 2.0.18
运行结果成功
这时候目录内就会多出一个文件夹和一个说明文件
3.修改测试
打开src文件夹内的Sample.php文件修改
<?php
// This file is auto-generated, don't edit it. Thanks.
namespace AlibabaCloud\\SDK\\Sample;
use AlibabaCloud\\SDK\\Dysmsapi\\V20170525\\Dysmsapi;
use AlibabaCloud\\Tea\\Tea;
use AlibabaCloud\\Tea\\Utils\\Utils;
use AlibabaCloud\\Tea\\Console\\Console;
use Darabonba\\OpenApi\\Models\\Config;
use AlibabaCloud\\SDK\\Dysmsapi\\V20170525\\Models\\SendSmsRequest;
use AlibabaCloud\\Tea\\Utils\\Utils\\RuntimeOptions;
class Sample
public static function createClient()
$config = new Config([
// 您的 AccessKey ID
"accessKeyId" => '修改',// 修改
// 您的 AccessKey Secret
"accessKeySecret" => '修改'// 修改
]);
return new Dysmsapi($config);
/**
* @param string[] $args
* @return void
*/
public static function main($args)
$client = self::createClient("ACCESS_KEY_ID", "ACCESS_KEY_SECRET");
$phone = $args['phone'];// 新增
$templa = $args['templa'];// 新增
$sendSmsRequest = new SendSmsRequest([
"phoneNumbers" => $phone,// 修改
"signName" => "签名",// 修改
"templateCode" => "模板",// 修改
"templateParam" => "\\"yzm\\":\\"$templa\\""// 修改
]);
$runtime = new RuntimeOptions([]);
$resp = $client->sendSmsWithOptions($sendSmsRequest, $runtime);
Console::log(Utils::toJSONString(Tea::merge($resp))) ;
$path = __DIR__ . \\DIRECTORY_SEPARATOR . '..' . \\DIRECTORY_SEPARATOR . 'vendor' . \\DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path))
require_once $path;
Sample::main($args);// 修改
自定义文件传输参数register.php(此文件和src目录同级)
$mot=$_POST['mot'];
if(empty($mot))echo "err1";exit;
$smsv =rand(100000,999999);
session_start();
$_SESSION["REGMOT"]=$mot;
$_SESSION["REGMOTYZ"]=$smsv;
$args = ['phone'=>$mot,'templa'=>$smsv];
include("./src/Sample.php");
前端用Ajax或者from表单向register.php提交下手机号即可
说明:注意没有使用测试签名和模板的短信必须要余量
备注:如果此教程有什么问题可以私聊联系我
以上是关于阿里云升级版短信验证教程PHP篇的主要内容,如果未能解决你的问题,请参考以下文章