使用场景:
1.tp5调用阿里云短信接口实现用户登陆注册
2.tp5调用阿里云短信接口实现短信发送
1.登录阿里云账号之后 首先鼠标移动到你的头像上 点击AccessKey之后 创建
2.找到短信服务这里 申请签名 和 模板
3.之后找到 帮助文档 -> 下载php SDK
我是点击的开发指南(旧版)下载的 php SDK 非轻量版的
下载解压之后extend/alisms
之后在\config\common.php里加入西面代码
/** * 短信发送 * @param $to 接收人 * @param $code 短信验证码 * @return json */ function send_sms($to, $code){ require_once '../extend/alisms/api_sdk/vendor/autoload.php'; Config::load(); //加载区域结点配置 $accessKeyId = 'LTAI*********K2Hd';//创建的accessKey $accessKeySecret = 'AeKuI0***********Gtj40Ym';//创建的accessKeySecret $templateParam = $code; //短信API产品名(短信产品名固定,无需修改) $product = "Dysmsapi"; //短信API产品域名(接口地址固定,无需修改) $domain = "dysmsapi.aliyuncs.com"; //暂时不支持多Region(目前仅支持cn-hangzhou请勿修改) $region = "cn-hangzhou"; // 初始化用户Profile实例 $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret); // 增加服务结点 DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain); // 初始化AcsClient用于发起请求 $acsClient= new DefaultAcsClient($profile); // 初始化SendSmsRequest实例用于设置发送短信的参数 $request = new SendSmsRequest(); // 必填,设置雉短信接收号码 $request->setPhoneNumbers($to); // 必填,设置签名名称 $request->setSignName("阿里云短信测试专用"); // 必填,设置模板CODE $request->setTemplateCode("SMS_********"); // 可选,设置模板参数 if($templateParam) { $request->setTemplateParam(json_encode(['code'=>$templateParam]));//由于我的模板里需要传递我的短信验证码 } //发起访问请求 $acsResponse = $acsClient->getAcsResponse($request); //返回请求结果 $result = json_decode(json_encode($acsResponse),true); // 具体返回值参考文档:https://help.aliyun.com/document_detail/55451.html?spm=a2c4g.11186623.6.563.YSe8FK return $result; }
控制器里如何调用方法:
public function code(){ $code = rand(100000,999999); $phone = "填写你的手机号"; $result = send_sms($phone,$code); var_dump($result); }