我有一个服务器,其中有一个 php 文件,我将一些 header 变量传递到该文件并在 PHP 文件中读取它,如下所示...
$_SERVER["HTTP_API_KEY"]
如果我在我的 header 数据中传递 API_KEY
,我将在服务器中获得作为 $_SERVER["HTTP_API_KEY"]
的值。现在我的代码已移至新服务器,并且在我的 $_SERVER
数组中看不到 $_SERVER["HTTP_API_KEY"]
!
它可能是 PHP 模块或 Apache 模块,我可能需要使用我相信的服务器进行配置。我试图找到解决方案,但不幸的是还没有找到。
如果有人知道它到底是什么,请告诉我......
最佳答案
我会给getallheaders试试功能吧!
如果您想将 key 添加回 $_SERVER 数组,只需将其添加到文件顶部即可。
<?php
if(!isset($_SERVER['HTTP_API_KEY']) && isset(getallheaders()['API_KEY']))
$_SERVER['HTTP_API_KEY'] = getallheaders()['API_KEY'];
?>
获取第一个可用的 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!';
?>
关于php - 我需要安装什么模块才能在 $_SERVER 数组中查看我的 header 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37247116/