You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Twilio PHP SDK 5.16发送短信时遇HTTP 401无法创建记录问题

解决Twilio短信发送时的HTTP 401错误

Hey,遇到这个401错误别慌,它本质就是Twilio不认你的身份,直接拒绝了请求。我帮你整理了几个必查的点,一步步来排查:

1. 先核对Account SID和Auth Token的准确性

  • 赶紧登录Twilio控制台,找到你的Account SID和Auth Token,这俩是区分大小写的,别手滑复制错字符。
  • 注意别搞混测试环境和生产环境的凭据!测试环境的SID虽然也是AC开头,但有专门的测试标记,不能拿到生产环境用,反过来也不行。
  • 代码里的$account_sid = 'sid';和$auth_token = 'token';可不能留着占位符,一定要替换成你控制台里的真实有效值。

2. 检查Twilio号码是否合规

  • 确保$twilio_number是你在Twilio平台购买并激活的号码,格式必须带国际区号,比如+1234567890,不能只写本地号码。
  • 这个号码得属于你当前用的Account SID对应的账户,别拿其他账户的号码来用,肯定不认。

3. 补全代码里的缺失参数

看你的代码片段,'from' => $t...明显是截断了,完整的应该是'from' => $twilio_number,而且还得加上必填的短信内容参数,不然请求也会出问题。修正后的代码大概是这样:

return $client->messages->create(
    $data['phone'],
    array(
        'from' => $twilio_number,
        'body' => '这里填你要发送的短信内容'
    )
);

4. 排查网络环境的干扰

  • 如果你的服务器在防火墙或者公司内网里,得确认允许向api.twilio.com发起HTTPS请求,端口443必须开放。
  • 要是服务器用了代理或者VPN,得检查是不是这些工具修改了请求的Authorization头——Twilio SDK会自动处理身份验证头,但网络环境乱改的话,就会导致验证失败。

5. 用curl快速验证凭据有效性

不想改代码测试的话,可以直接用curl命令测试你的凭据能不能正常访问Twilio API:

curl -u "你的Account SID:你的Auth Token" https://api.twilio.com/2010-04-01/Accounts.json

如果返回了你的账户信息,那凭据没问题;要是还是401,那肯定是凭据错了,回去控制台重新复制一遍。


内容的提问来源于stack exchange,提问作者Abeera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:12:26