Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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

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/apache访问原始HTTP请求数据?_Php_Apache - Fatal编程技术网

如何使用PHP/apache访问原始HTTP请求数据?

如何使用PHP/apache访问原始HTTP请求数据?,php,apache,Php,Apache,我想知道是否有一种方法可以获取在apache上运行的PHP中的原始HTTP请求数据,而不需要使用任何其他扩展。我已经看过手册中的功能,但是我没有在我的环境中安装扩展的选项 虽然我可以从$_服务器访问信息,但我希望看到原始请求与发送到服务器的完全相同。PHP使用头名称来适应自己的数组键样式,例如,一些测试头变成了HTTP_X_Some_Test_头。这不是我需要的。您是指$\u服务器中包含的信息吗 print_r($_SERVER); 编辑: 这样行吗 foreach(getallheaders

我想知道是否有一种方法可以获取在apache上运行的PHP中的原始HTTP请求数据,而不需要使用任何其他扩展。我已经看过手册中的功能,但是我没有在我的环境中安装扩展的选项


虽然我可以从$_服务器访问信息,但我希望看到原始请求与发送到服务器的完全相同。PHP使用头名称来适应自己的数组键样式,例如,一些测试头变成了HTTP_X_Some_Test_头。这不是我需要的。

您是指
$\u服务器中包含的信息吗

print_r($_SERVER);
编辑:

这样行吗

foreach(getallheaders() as $key=>$value)  {
    print $key.': '.$value."<br />";
}
foreach(getallheaders()作为$key=>$value){
打印$key.“:”.$value.“
”; }
使用以下php包装器:

$raw_post = file_get_contents("php://input"); 
试试这个:

  $request = $_SERVER['SERVER_PROTOCOL'] .' '. $_SERVER['REQUEST_METHOD'] .' '. $_SERVER['REQUEST_URI'] . PHP_EOL;

  foreach (getallheaders() as $key => $value) {
    $request .= trim($key) .': '. trim($value) . PHP_EOL;
  }

  $request .= PHP_EOL . file_get_contents('php://input');

  echo $request;

是的,但我希望原始请求在被PHPI解析为$\u服务器之前,不要认为它会得到http头。