Мне было интересно, есть ли способ получить необработанные данные 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;