Php 获取自定义请求头

Php 获取自定义请求头,php,Php,我在WAMP上运行PHP 5.5版。我有一个非常简单的API。我想获得名为“api_key”的定制请求头。首先,我发出GET请求并记录如下标题: foreach (getallheaders() as $name => $value) { $message .= "$name: $value\n"; } file_put_contents('headers.log', $message); 这导致: Host:

我在WAMP上运行PHP 5.5版。我有一个非常简单的API。我想获得名为“api_key”的定制请求头。首先,我发出GET请求并记录如下标题:

        foreach (getallheaders() as $name => $value) {
            $message .= "$name: $value\n";
        }

        file_put_contents('headers.log', $message); 
这导致:

Host: localhost
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Accept: application/json, text/javascript, */*; q=0.01
device_id: 63843
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36
api_key: hv7Vgd4jsbb
Referer: http://localhost/server/cli/beaufort/www/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: PHPSESSID=bd3c8ce878ebc504b2128686efbe30cf;
bd3c8ce878ebc504b2128686efbe30cf=DEFAULT%7C0%7C2M3TMlgUx3gTlaarYzHIdD28l8q9FTcNubt55%2BUGpAo%3D%7C7456bf61db3500c8bb7b3bc38082a470ce4a2ad3
所以“api_密钥”就在那里。然而,不知何故,当我这样做时:

$message = $_SERVER['HTTP_API_KEY'];
我得到一个错误:

Fatal error: Uncaught exception 'ErrorException' with message 'Undefined index: HTTP_API_KEY'

为什么我不能获取此标题???

您确定它列在
$\u服务器
数组中的
HTTP\u API\u KEY
下吗?您的错误消息表明它不是。要排除故障,请执行
var\u dump($\u SERVER)
并分析内容以查看实际数组索引是什么。
$headers = getallheaders();  
$message = $headers['api_key'];