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

PHP脚本中如何在Bearer Token中传递变量?

解决PHP中Bearer Token变量无法解析的问题

这是PHP字符串解析的经典小坑啦~你遇到的问题核心是单引号与双引号在PHP中的解析规则差异:

问题根源

PHP里用单引号包裹的字符串是「字面量字符串」,里面的$token会被当成普通文本字符,而不是变量解析。所以你的请求头实际发送的是Bearer $token,而不是Bearer 你的令牌值,服务器自然识别不了这个无效令牌,就拒绝请求了。

三种可行的解决方法

方法1:用双引号包裹字符串

把包含变量的字符串换成双引号,PHP会自动解析里面的变量:

$headers = array( 
    'Authorization' => "Bearer $token", 
    'Content-type' => 'application/json' 
);

这种方式最简洁,适合简单的变量嵌入场景。

方法2:字符串拼接

用.连接符把固定字符串和变量拼接起来,单双引号都能混用:

$headers = array( 
    'Authorization' => 'Bearer ' . $token, 
    'Content-type' => 'application/json' 
);

这种方式可读性也很强,尤其是当变量前后有复杂内容时,不容易出错。

方法3:使用sprintf格式化字符串

如果需要更复杂的字符串格式化(比如多个变量、格式转换),sprintf是个不错的选择:

$headers = array( 
    'Authorization' => sprintf('Bearer %s', $token), 
    'Content-type' => 'application/json' 
);

这里的%s会被$token的实际值替换,扩展性很好。

选其中一种方法替换你的代码,就能正常传递令牌啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:24:34