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

PHP CURL短信API无响应问题求助

我来帮你排查调用Textlocal短信API无响应的问题,咱们一步步拆解:

核心修复与排查方案

1. 先补全缺失的CURL关键代码

你的代码明显没写完,缺少了执行请求、获取结果和错误处理的核心逻辑,这大概率是无响应的直接原因。给你补全并优化后的代码:

<?php
// 开启错误提示(开发环境用,生产环境可关闭)
error_reporting(E_ALL);
ini_set('display_errors', 1);

$apiKey = urlencode('ym4qoK7ier4-ekRPruxP1eqh0pPHsn9slaivPpMtZY');
$numbers = array(917823466910, 918790650519);
$sender = urlencode('Garry');
$message = rawurlencode('This is your message');
$numbers = implode(',', $numbers);

$data = array(
    'apikey' => $apiKey,
    'numbers' => $numbers,
    "sender" => $sender,
    "message" => $message
);

$ch = curl_init('https://api.textlocal.in/send/');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
// 强制返回结果而非直接输出,方便后续处理
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 开发环境临时关闭SSL验证(生产环境务必开启并配置证书)
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// 设置超时,避免无限等待
curl_setopt($ch, CURLOPT_TIMEOUT, 30);

// 执行请求
$response = curl_exec($ch);

// 排查CURL自身错误
if(curl_errno($ch)){
    die('CURL调用出错:' . curl_error($ch));
}

// 打印响应,不管成功失败都能看到具体信息
print_r($response);

// 关闭资源
curl_close($ch);
?>

2. 逐一排查常见业务问题

  • API密钥有效性:登录Textlocal后台确认你的密钥没过期、权限正常,别不小心用了测试密钥或者已作废的密钥。
  • 发送者ID合规性:Textlocal要求发送者ID必须是提前验证过的,不能随便用未认证的名称(比如你这里的Garry),未验证的ID会直接被API拒绝。
  • 手机号格式:确认你用的国际区号(比如91)正确,号码本身没有格式错误,且属于Textlocal支持的服务地区。
  • 请求频率限制:检查是否短时间内调用次数过多触发了限流,超出限制会导致API无响应或返回错误码。

3. 调试小技巧

  • 运行代码后,重点看打印出的$response,Textlocal的API会返回JSON格式的错误信息(比如密钥无效、发送者ID未验证),直接帮你定位问题。
  • 如果还是没响应,检查服务器是否能访问https://api.textlocal.in,可以用curl -v https://api.textlocal.in在服务器终端测试网络连通性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:22:36