[fastadmin]第二十一篇 fastadmin 阿里云短信插件

1. 安装部署

doc.fastadmin.net/alisms/install.h...

2. 错误排查

这边通过php 调用发送短信。代码片段为

// index 发送短信验证码
public function sendcode()
{
  $mobile = $this->request->post('phone');
  $rule = [
  'mobile' => 'require|length:3,12',
  ];
  $data = [
  'mobile' => $mobile,
  ];
  $validate = new Validate($rule, [], ['mobile' => __('Phone')]);
  $result = $validate->check($data);
 if (!$result) {
  $this->error($validate->getError());
  }
  // 生成随机的四位code
  $code = rand(1000, 9999);
  //发送验证码
  $result = \app\common\library\Sms::send($mobile, $code, 'usuallycode');
 if ($result === true) {
  $this->success(__('Send code successful'));
  } else {
  $this->error($result);
  }
}

这里的err信息 ,通过 dump打印,发现,只返回bool 值。

[fastadmin]第二十一篇 fastadmin 阿里云短信插件

那我们想要看详细信息,怎么看呢?

1、目前可以通过点击后台->插件管理,找到阿里云短信,点击前面的小房子,然后在前台进行测试发送短信,如果失败会提示具体的错误原因。

[fastadmin]第二十一篇 fastadmin 阿里云短信插件

[fastadmin]第二十一篇 fastadmin 阿里云短信插件

[fastadmin]第二十一篇 fastadmin 阿里云短信插件

2、如果通过前台测试无法定位具体的错误原因,可以手动编辑addons/alisms/library/Alisms.php,找到其中的send方法,打印$response的变量,然后查看具体的错误原因。

根据代码调用,我们发现这里其实send 方法,内部,监听启动了一个hook

[fastadmin]第二十一篇 fastadmin 阿里云短信插件

那么这个hook在addons/alisms/library/Alisms.php 下的 send 注册。

[fastadmin]第二十一篇 fastadmin 阿里云短信插件

这里的原理代码,可以查看一下Hook.php,中115行。

[fastadmin]第二十一篇 fastadmin 阿里云短信插件

3. 如果是测试签名,需要绑定测试手机号

[fastadmin]第二十一篇 fastadmin 阿里云短信插件

[fastadmin]第二十一篇 fastadmin 阿里云短信插件

如果还是发送失败,可以通过阿里云的 api的调用控制台查看具体错误信息,非常方便。

[fastadmin]第二十一篇 fastadmin 阿里云短信插件

[fastadmin]第二十一篇 fastadmin 阿里云短信插件

本作品采用《CC 协议》,转载必须注明作者和本文链接
嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步! 公众号:上海PHP自学中心 付费知识星球:破解面试:程序员的求职导师
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
司机 @ 欣昊玉
文章
273
粉丝
339
喜欢
558
收藏
1106
排名:64
访问:12.2 万
私信
所有博文
社区赞助商