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

PHP Curl调用CallRail API返回T_CONSTANT_ENCAPSED_STRING错误求助

兄弟,你这问题一眼就能看出根源——你把终端里用的curl命令直接写到PHP代码块里了,PHP根本不认识这种shell语法,解析时会把那些换行、引号当成未正确闭合的字符串/常量,直接触发T_CONSTANT_ENCAPSED_STRING语法错误!

问题根源拆解

你现在写的<? curl -H ... ?>是给Linux/macOS终端用的shell命令,但PHP标签里只能写PHP代码,两种环境语法完全不兼容,这就是报错的核心原因。

正确的两种PHP实现方式

方式一:PHP原生CURL扩展(推荐,灵活可控)

这是PHP发起HTTP请求的标准方案,支持更多自定义配置,代码示例如下:

<?php
// 先替换成你的真实凭证
$token = 'your-token-id';
$accountId = 'your-account-id';
$apiUrl = "https://api.callrail.com/v2/a/{$accountId}/calls.json";

// 初始化CURL会话
$curl = curl_init($apiUrl);

// 设置请求头和其他选项
curl_setopt_array($curl, [
    CURLOPT_HTTPHEADER => ["Authorization: Token token={$token}"],
    CURLOPT_RETURNTRANSFER => true, // 把响应返回给变量而不是直接输出
    CURLOPT_SSL_VERIFYPEER => true, // 开启SSL验证,提升安全性
    CURLOPT_FOLLOWLOCATION => true // 自动跟随重定向(如果API有重定向的话)
]);

// 执行请求并获取响应
$response = curl_exec($curl);

// 检查请求是否出错
if (curl_errno($curl)) {
    echo "请求出错:" . curl_error($curl);
} else {
    // 解析JSON格式的响应
    $callData = json_decode($response, true);
    // 可以根据需求处理数据,比如打印出来看结果
    print_r($callData);
}

// 关闭CURL会话,释放资源
curl_close($curl);
?>

方式二:file_get_contents(简洁但灵活性弱)

如果你的PHP环境开启了allow_url_fopen配置,可以用这种更简单的写法:

<?php
$token = 'your-token-id';
$accountId = 'your-account-id';
$apiUrl = "https://api.callrail.com/v2/a/{$accountId}/calls.json";

// 创建请求上下文,添加Authorization头
$requestContext = stream_context_create([
    'http' => [
        'header' => "Authorization: Token token={$token}"
    ]
]);

// 发起请求并获取响应
$response = file_get_contents($apiUrl, false, $requestContext);

if ($response === false) {
    echo "请求失败,请检查凭证或网络";
} else {
    $callData = json_decode($response, true);
    print_r($callData);
}
?>
额外注意要点
  • 务必替换代码里的your-token-id和your-account-id为你真实的CallRail凭证
  • 如果用CURL方式,要确保你的PHP环境已经开启CURL扩展(大部分主机默认开启,若未开可联系主机商或修改php.ini配置)
  • 测试时可以在代码开头加上error_reporting(E_ALL); ini_set('display_errors', 1);,方便排查其他潜在问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:44:20