返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >原生PHP及thinkphp6接入阿里云短信
  • 673
分享到

原生PHP及thinkphp6接入阿里云短信

阿里云云计算腾讯云Poweredby金山文档 2023-09-06 07:09:53 673人浏览 八月长安
摘要

申请accesskey 获取到Accesskey ID和Accesskey Secret保存下来

  1. 申请accesskey

获取到Accesskey ID和Accesskey Secret保存下来,一会要用到

  1. 添加测试手机号,在接口测试能否正常发送

  1. 下载阿里云短信sdk,使用composer下载,没有安装请先安装

安装可以安装到任意文件夹下,后面代码写好后,直接复制到tp项目内就行,最新版本安装可能composer查找不到,所以我这里安装2.0.20

composer require alibabacloud/dysmsapi-20170525 2.0.20
  1. 安装完成后文件目录结构

新建src文件夹,在里面创建一个类Sample,复制如下代码

 $accessKeyId,            // 必填,您的 AccessKey Secret            "accessKeySecret" => $accessKeySecret        ]);        // 访问的域名        $config->endpoint = "dysmsapi.aliyuncs.com";        return new Dysmsapi($config);    }        public static function main($phone,$code){        // 工程代码泄露可能会导致AccessKey泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/311677.html        $client = self::createClient("填第一步的Accesskey ID", "填第一步的Accesskey Secret");        $sendSmsRequest = new SendSmsRequest([            "signName" => "阿里云短信测试",            "templateCode" => "SMS_154950909",            "phoneNumbers" => "$phone",            "templateParam" => "{\"code\":\"$code\"}"        ]);        $runtime = new RuntimeOptions([]);        try {            // 复制代码运行请自行打印 API 的返回值            $data=$client->sendSmsWithOptions($sendSmsRequest, $runtime);            echo json_encode($data);        }        catch (Exception $error) {            if (!($error instanceof TeaError)) {                $error = new TeaError([], $error->getMessage(), $error->getCode(), $error);            }            // 如有需要,请打印 error            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));
  1. 演示调用(到这里我们的接口就已经接好了,现在调用Sample类的main方法就能发送短信了

原生调用:在src文件夹下新建一个index.php ,访问index.php。传入参数56789就调用成功了

$phone,    'code'=>$code  ];  \AlibabaCloud\SDK\Sample\Sample::main($phone,$code);}?>

thinkphp调用:

(一)将cmsPhp文件夹移到tp6项目public文件夹下

(2)新建控制器Code

Code.php代码

$phone,        'code'=>$code,        'date'=>$date      ];      $suc=Db::table('code')->save($data);      Sample::main($phone,$code);    }  }  }

访问code2方法传入手机号就调用成功了

来源地址:https://blog.csdn.net/qq_37196621/article/details/128676338

--结束END--

本文标题: 原生PHP及thinkphp6接入阿里云短信

本文链接: https://lsjlt.com/news/396628.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作