我想知道是否有辦法在Apache上運行的PHP中獲取原始HTTP請求數據,而不涉及使用任何附加擴展。我已經在手冊中看到了HTTP函數,但我沒有在我的環境中安裝擴展的選項。如何使用PHP/apache訪問原始HTTP請求數據?
儘管我可以從$ _SERVER訪問信息,但我希望看到原始請求與發送到服務器的原始請求完全相同。 PHP使用標題名稱來適應自己的數組鍵風格,例如。 Some-Test-Header變爲HTTP_X_SOME_TEST_HEADER。這不是我需要的。
我想知道是否有辦法在Apache上運行的PHP中獲取原始HTTP請求數據,而不涉及使用任何附加擴展。我已經在手冊中看到了HTTP函數,但我沒有在我的環境中安裝擴展的選項。如何使用PHP/apache訪問原始HTTP請求數據?
儘管我可以從$ _SERVER訪問信息,但我希望看到原始請求與發送到服務器的原始請求完全相同。 PHP使用標題名稱來適應自己的數組鍵風格,例如。 Some-Test-Header變爲HTTP_X_SOME_TEST_HEADER。這不是我需要的。
您的意思是包含在$_SERVER
的信息?
print_r($_SERVER);
編輯:
請問這怎麼辦呢?
foreach(getallheaders() as $key=>$value) {
print $key.': '.$value."<br />";
}
使用下面的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;
是的,但我想的原始請求之前得到由PHP – Shabbyrobe 2008-10-03 03:56:54
註解析爲$ _ SERVER:getallheaders ()與fastcgi一起工作,因爲PHP 5.4 – NickSoft 2013-03-13 14:31:28