$_SERVER 变量没有设置我的自定义 header

The $_SERVER variable is not setting my custom header

我遇到了一个非常奇怪的情况,我在 3 台不同的机器上设置了一个 Apache 服务器,一台是 Ubuntu,另一台是 Mac,另一台是 windows 8,我正在尝试发送一个非常基本的 post 请求自定义 header 像 X_USER,到 Php 脚本(相同的脚本在 3 台机器中),现在为了得到我的 header 我使用 $_SERVER var 就像 $_SERVER['HTTP_X_USER'],但是在 Mac 我得到的值很好,但在其他 2 台机器,该值不存在,我在 $_SERVER var 中做了 var_dump 并且我可以确认 header 不存在,我没有配置任何花哨的东西,只是默认值.

任何人都可以告诉我是否需要配置某些东西,或者我以不正确的方式访问 var,或者为什么我没有得到 header,可能是 Apache 级别的东西或 php水平,谢谢大家的帮助!!

好吧,我想我找到了原因,例如,我将 headers 作为 X_REST_USERNAME 发送,但是在 apache 版本 2 上 4_x headers 需要使用破折号作为分隔符而不是像这样的下划线 X-REST-USERNAME,我在 mac 上有 apache 2.2,其他版本有 2.4,但是在这两个版本中破折号分隔符工作正常,我不知道这一切,谢谢大家!

尝试

$headers = apache_request_headers();
echo $headers['x_user'];