4

我有一个虚拟主机配置,它有一个指令来为每个请求添加一个响应头,如下所示:

Header append X-MyHeader "Info Stuff in here"

如果我在此服务器上运行,我会在标题HTTP Headers Informationphpinfo()下的 apache2handler 部分中看到此标头作为HTTP Response Headers。PHP 似乎能够以某种方式访问​​此信息。

我尝试为我的脚本获取此信息,但它丢失了headers_list()apache_response_headers()

谷歌搜索没有找到解决方案,这似乎是一种罕见的情况。SO上的另一个问题得到了再次真正查询服务器并查看标头的答案,但我不会这样做,因为我需要有关我服务的每个请求的信息 - 子请求似乎对性能造成太大影响。

怎么phpinfo()知道价值观?

更新 1:PHP 不显示任何超全局变量(如 等)中的值$_SERVER$_ENV我在 phpinfo 页面上看到它的唯一位置是在上面提到的部分。否则,这将是不费吹灰之力。

4

1 回答 1

0

您可以这样做,但要确保它在文件中高于打印的任何其他内容,否则您将收到错误消息。

<?php
foreach($_SERVER as $h=>$v)
 if(preg_match('/HTTP_(.+)/',$h,$hp))
   echo "<li>$h = $v</li>\n";
?>

编辑:你启用了 FastCGI 吗?

试试这个链接:$_SERVER headers are missing in PHP but present in Python

于 2012-10-12T11:17:08.910 回答