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

PHP项目使用JWT授权时$_SERVER['HTTP_AUTHORIZATION']无法正常取值问题

PHP获取HTTP_AUTHORIZATION头部失败解决方案
  • 首先确认Apache的.htaccess生效权限已开启:找到站点对应的VirtualHost配置段,将AllowOverride None修改为AllowOverride All,修改后重启Apache服务再测试。
  • 补充.htaccess兼容配置:在你已有的配置基础上新增如下规则,部分FastCGI模式下该规则比重写规则兼容性更好:
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
  • 确认服务器环境是否匹配:如果你实际使用的是Nginx而非Apache,.htaccess配置完全不生效,需要在Nginx站点配置的fastcgi_param段新增如下配置,之后重启Nginx:
fastcgi_param HTTP_AUTHORIZATION $http_authorization;
  • 兜底兼容方案:无需修改服务器配置,直接通过PHP原生函数读取所有请求头获取Authorization值:
$allHeaders = getallheaders();
$token = $allHeaders['Authorization'] ?? '';
  • 排查前端请求规则:
    • 跨域请求场景下,必须在服务端CORS配置的Access-Control-Allow-Headers中加入Authorization,否则浏览器会自动过滤该请求头,后端无法接收
    • 确认前端传值时请求头拼写为Authorization,未出现拼写错误、多余空格或自定义前缀不符合JWT规范的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 09:57:01