tp6框架结合阿里短信接口发送短信并记录redis
生活随笔
收集整理的這篇文章主要介紹了
tp6框架结合阿里短信接口发送短信并记录redis
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
tp6框架結合阿里短信接口發送短信并記錄redis
1> 開通阿里云短信服務
2> 安裝redis服務
3>config配置文件
4> 打開阿里云短信文檔 直接復制demo,修改自己的配置信息
創建AliSms類庫文件,修改配置項 use AlibabaCloud\Client\AlibabaCloud; use AlibabaCloud\Client\Exception\ClientException; use AlibabaCloud\Client\Exception\ServerException;class AliSms {/*** @param $phone* @param $code* @return bool* @throws ClientException*/public function sendCode($phone,$code){AlibabaCloud::accessKeyClient(config('sms.access_key'), config('sms.access_secret'))->regionId('cn-hangzhou')->asDefaultClient();$tmpCode = ['code' => $code];try {$result = AlibabaCloud::rpc()->product('Dysmsapi')// ->scheme('https') // https | http->version('2017-05-25')->action('SendSms')->method('POST')->host(config('sms.host'))->options(['query' => ['RegionId' =>config('sms.region_id'),'PhoneNumbers' => $phone,'SignName' => config('sms.sign_name'),'TemplateCode' => config('sms.template_code'),'TemplateParam' => json_encode($tmpCode)],])->request();//print_r($result->toArray());} catch (ClientException $e) {return false;//echo $e->getErrorMessage() . PHP_EOL;} catch (ServerException $e) {return false;//echo $e->getErrorMessage() . PHP_EOL;}if(isset($result) && $result['Code']=='OK'){return true;}else{return false;}} }5> 調用短信發送接口,記錄redis string格式
use app\common\lib\sms\AliSms;public function sendCode (){$phone = input('phone');if(empty($phone)){return show(config('code.error'),'手機號不能為空');}$code = rand(100000,999999);$aliSms = new AliSms();$res = $aliSms->sendCode($phone,$code);cache(config('redis.code_pre').$phone,$code,config('redis.code_expire'));//halt(cache(config('redis.code_pre').$phone));if($res){return show(config('code.success'),'驗證碼發送成功');}else{return show(config('code.error'),'驗證碼發送失敗');}}6> 驗證是否成功記錄
cd /usr/local/redis/binll ./redis-cli set key valget key總結
以上是生活随笔為你收集整理的tp6框架结合阿里短信接口发送短信并记录redis的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: minSdk deviceSdk的问题
- 下一篇: 解决vue element导航重复点击路