$ _SERVER变量未设置我的自定义标头

时间:2015-02-13 02:19:12

标签: php apache

我面临一个非常奇怪的情况,我有一台Apache服务器设置在3台不同的机器上,一台是Ubuntu,另一台是Mac,另一台是Windows 8,我试图发送一个非常基本的帖子请求一个自定义标题,如X_USER,到一个Php脚本(同一个脚本在3台机器中),现在为了得到我的标题我使用$_SERVER var像{{1但是在Mac中,我得到的值很好,但在其他2台机器中,值不存在,我在$_SERVER['HTTP_X_USER'] var中做了var_dump,我可以确认标题不是&#39在那里,我没有配置任何花哨的东西,只是默认值。

任何人都可以告诉我是否需要配置某些内容,或者我是以错误的方式访问var,或者为什么我没有获得标题,可能是Apache级别或php级别的内容,谢谢你的帮助!!

2 个答案:

答案 0 :(得分:5)

嗯,我认为我找到了原因,我发送标题为X_REST_USERNAME,但是在apache版本2.4_x上,标题需要使用破折号作为分隔符而不是像这样的X-REST-USERNAME下划线,我有apache 2.2 on mac和其他版本都有2.4版,但是在两个版本中,破折号分离器都可以正常工作,我不知道这一切,谢谢大家!

答案 1 :(得分:1)

尝试

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