Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我需要安装什么模块才能在$\u服务器阵列中查看头变量?_Php_Apache_Variables_Server - Fatal编程技术网

Php 我需要安装什么模块才能在$\u服务器阵列中查看头变量?

Php 我需要安装什么模块才能在$\u服务器阵列中查看头变量?,php,apache,variables,server,Php,Apache,Variables,Server,我有一个服务器,其中有一个php文件,我将一些头变量传递给它,并在php文件中读取它,如下所示 $_SERVER["HTTP_API_KEY"] 如果我在头数据中传递API\u KEY,我在服务器中得到的值为$\u server[“HTTP\u API\u KEY”]。现在,我的代码已移动到新服务器,在那里我没有在我的$\u服务器阵列中看到$\u服务器[“HTTP\u API\u KEY”]! 我认为可能需要用服务器配置PHP模块或Apache模块。我试图找到解决办法,但不幸的是还没有找到

我有一个服务器,其中有一个php文件,我将一些头变量传递给它,并在php文件中读取它,如下所示

 $_SERVER["HTTP_API_KEY"]
如果我在头数据中传递
API\u KEY
,我在服务器中得到的值为
$\u server[“HTTP\u API\u KEY”]
。现在,我的代码已移动到新服务器,在那里我没有在我的
$\u服务器
阵列中看到
$\u服务器[“HTTP\u API\u KEY”]
! 我认为可能需要用服务器配置PHP模块或Apache模块。我试图找到解决办法,但不幸的是还没有找到

如果有人确切知道它是什么,请告诉我

我想试试这个函数

如果要将密钥添加回$\u服务器阵列,只需将其添加到文件顶部即可

<?php

if(!isset($_SERVER['HTTP_API_KEY']) && isset(getallheaders()['API_KEY']))
    $_SERVER['HTTP_API_KEY'] = getallheaders()['API_KEY'];

?>


获取第一个可用的密钥

<?php

if(isset($_SERVER['HTTP_API_KEY']))
    $key = $_SERVER['HTTP_API_KEY'];
elseif(isset(getallheaders()['API_KEY']))
    $key = getallheaders()['API_KEY'];
else
    die('Key not found.');

?>


适于包含Get和Post请求中的密钥

<?php

if(isset($_SERVER['HTTP_API_KEY']))
    $key = $_SERVER['HTTP_API_KEY'];
elseif(isset(getallheaders()['API_KEY']))
    $key = getallheaders()['API_KEY'];
elseif($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['API_KEY']))
    $key = $_POST['API_KEY'];
elseif(($_SERVER['REQUEST_METHOD'] === 'GET' || $_SERVER['REQUEST_METHOD'] === 'POST') && isset($_GET['API_KEY']))
    $key = $_GET['API_KEY'];
else
    die('Key not found.');

if($key !== '12345')
    die('Invalid key.');

echo 'Hello world!';

?>


在我的标题数据中传递API密钥是什么意思?这是get或post请求的一部分吗?嗨,朱莉,谢谢你的回复。这不是获取或发布数据。。。它的标题数据。。。我确实能够用PHP中的getallheaders()函数读取数据。。。但我需要更改整个项目,因为它被编码为使用$\u服务器读取此数据。。。所以想知道是否有办法让它也在我的新服务器上工作…你还在使用相同的web服务器吗?(Apache vs Nginx)你做过print_r($_服务器)和print_r($GLOBALS)测试了吗?@JuliePelletier-是的,它与php 7Hi Brogan是同一个Apache服务器,我可以通过getallheaders()函数读取数据。。。我在之前的评论中提到过。。。但我需要知道的是PHP/Apache中的哪个模块正在处理这个问题?所以我不必做太多的代码修改……我对PHP7如何处理自定义头并不十分熟悉,但您可能会发现它们不再与$\u服务器变量合并,并且没有插件可以解决这个问题。我建议只替换缺少的变量的单行解决方案。在任何其他代码之前插入一次就可以了。谢谢你帮我解决Brogan的问题。我将等待,看看是否有人可以得到模块名作为答案。干杯