когда я делаю простое эхо $ HTTP_RAW_POST_DATA, я получаю ошибку:
Undefined variable: HTTP_RAW_POST_DATA
Я прочитал, что в php.ini мне нужно отменить
always_populate_raw_post_data = On
но я все еще получаю сообщение об ошибке, и я также перезапустил Apache. Im использует php 5.3.6
Если вам нужно получить доступ к необработанному телу POST, вы действительно должны $HTTP_RAW_POST_DATA
использование php://input
потока php://input
через $HTTP_RAW_POST_DATA
в соответствии с соответствующей записью вручную :
php: // input – это поток только для чтения, который позволяет вам считывать необработанные данные из тела запроса. В случае запросов POST предпочтительнее использовать вход php: // вместо $ HTTP_RAW_POST_DATA, поскольку он не зависит от специальных директив php.ini. Более того, для тех случаев, когда по умолчанию HTTP_RAW_POST_DATA не заполняется по умолчанию, это потенциально менее энергоемкая альтернатива активации always_populate_raw_post_data. php: // вход не доступен с enctype = "multipart / form-data".
Итак, чтобы получить доступ к телу POST, используя php://input
:
$post = file_get_contents('php://input');
Если вы
Примечание. Неопределенная переменная: HTTP_RAW_POST_DATA
Пожалуйста, откройте свой файл сервера add find
$server->service($HTTP_RAW_POST_DATA);
и заменить на следующие 2 строки.
if ( !isset( $HTTP_RAW_POST_DATA ) ) $HTTP_RAW_POST_DATA =file_get_contents( 'php://input' ); $server->service($HTTP_RAW_POST_DATA);
Надеюсь, это поможет.