Неопределенная переменная: HTTP_RAW_POST_DATA

когда я делаю простое эхо $ 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); 

Надеюсь, это поможет.