【问题标题】:The $_SERVER variable is not setting my custom header$_SERVER 变量没有设置我的自定义标题
【发布时间】:2015-04-14 00:23:32
【问题描述】:

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

谁能告诉我是否需要配置一些东西,或者我以不正确的方式访问 var,或者为什么我没有得到标题,可能是 Apache 级别或 php 级别的东西,谢谢你的帮助!!

【问题讨论】:

  • 您如何测试发送标头?仅供参考,它在我的 Ubuntu 设置中运行良好
  • 那么你的 php 代码在哪里讨论?

标签: php apache


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    试试

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

    【讨论】:

      猜你喜欢
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-17
      • 1970-01-01
      • 1970-01-01
      • 2013-01-21
      • 1970-01-01
      相关资源
      最近更新 更多