加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

不是$_SERVER [PHP]中可用的所有标题

发布时间:2020-12-13 17:15:44 所属栏目:PHP教程 来源:网络整理
导读:我有一些自定义标头,它在$_SERVER中不可见,但它可以通过帮助apache_request_headers()看到. 并且这种问题仅存在于一个基于Windows的Apache版本(OpenServer)中.在Mac和Linux上,Apache将所有标头传递给php,我可以在$_SERVER变量中看到它……也许对Windows有一
我有一些自定义标头,它在$_SERVER中不可见,但它可以通过帮助apache_request_headers()看到.

并且这种问题仅存在于一个基于Windows的Apache版本(OpenServer)中.在Mac和Linux上,Apache将所有标头传递给php,我可以在$_SERVER变量中看到它……也许对Windows有一些限制?或者是否有apache.conf中的任何设置可以激活将所有标头传递给mod_php?

解决方法

当 PHP在Windows上作为Apache模块运行时,您将看不到$_SERVER autoglobal数组上的所有标头.

您必须使用apache_request_headers()检索它们.您可以使用一些代码来获取跨平台部署:

function GetHeader($myheader) {
  if (isset($_SERVER[$myheader])) {
    return $_SERVER[$myheader];
  } else {
    $headers = apache_request_headers();
    if (isset($headers[$myheader])) {
      return $headers[$myheader];
    }
  }
  return '';
}

如果你的PHP足够新,你也可以试试getallheaders().

http://php.net/manual/en/function.getallheaders.php

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读