日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tp6框架结合阿里短信接口发送短信并记录redis

發布時間:2024/3/12 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tp6框架结合阿里短信接口发送短信并记录redis 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

tp6框架結合阿里短信接口發送短信并記錄redis
1> 開通阿里云短信服務
2> 安裝redis服務
3>config配置文件

創建sms.php 文件,配置阿里云短信信息 return ['access_key' => 'LTAI4G9qLv7QFs3fEx2e5aW6', 'access_secret' => 'SmCoM7FQkq6vFHu0ySwgry76SAouVI','host' => 'dysmsapi.aliyuncs.com','region_id' => 'cn-hangzhou','sign_name' => 'noodles','template_code' => 'SMS_197897436', ];創建redis.php文件 配置前綴和過期時間 return ['code_pre' => "code_pre_",'code_expire' => 60 ];創建cache.php 文件,配置redis信息 return [// 默認緩存驅動'default' => env('cache.driver', 'redis'),// 緩存連接方式配置'stores' => ['file' => [// 驅動方式'type' => 'File',// 緩存保存目錄'path' => '',// 緩存前綴'prefix' => '',// 緩存有效期 0表示永久緩存'expire' => 0,// 緩存標簽前綴'tag_prefix' => 'tag:',// 序列化機制 例如 ['serialize', 'unserialize']'serialize' => [],],// 更多的緩存連接'redis' =>['type' => 'redis','host' => '127.0.0.1','port' => 6379,]], ];

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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。