$ _POST пуст в php

Я прочитал все ответы в этом сообщении
print_r ($ _ POST); ===> возвращает пустой массив
print_r ($ _ SERVER);

Array ( [HTTP_HOST] => localhost [HTTP_ACCEPT] => */* **[HTTP__CONTENT_TYPE]** => application/json; charset=UTF-8" [CONTENT_LENGTH] => 942 **[CONTENT_TYPE]** => application/x-www-form-urlencoded [PATH] => /usr/local/bin:/usr/bin:/bin [SERVER_SIGNATURE] => Apache/2.2.14 (Ubuntu) Server at localhost Port 80 [SERVER_SOFTWARE] => Apache/2.2.14 (Ubuntu) [SERVER_NAME] => localhost [SERVER_ADDR] => 127.0.0.1 [SERVER_PORT] => 80 [REMOTE_ADDR] => 127.0.0.1 [DOCUMENT_ROOT] => /var/www [SERVER_ADMIN] => webmaster@localhost [SCRIPT_FILENAME] => /var/www/slocation.php [REMOTE_PORT] => 50657 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => POST [QUERY_STRING] => [REQUEST_URI] => /slocation.php [SCRIPT_NAME] => /slocation.php [PHP_SELF] => /slocation.php [REQUEST_TIME] => 1288466907 ) 

В чем разница между HTTP__CONTENT_TYPE и CONTENT_TYPE?

print_r ($ HTTP_RAW_POST_DATA); ==> возвращает корректные данные
file_get_contents ( 'PHP: // ввод'); ======> возвращает правильные данные.

Только $ _POST терпит неудачу.

Это моя команда curl

 $url = "http://localhost/slocation.php"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt ($ch, CURLOPT_HTTPHEADER, array('"Content-type: application/json; charset=UTF-8"')); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); $result = curl_exec($ch); 

ОБНОВИТЬ::::::::::::::::::::::::::::::::::::::::::::::::: :
Я нашел здесь хозяина

Чтобы ответить на мой собственный вопрос: «В чем разница между HTTP__CONTENT_TYPE и CONTENT_TYPE?»
Если вы видите «HTTP__CONTENT_TYPE», это скорее всего означает, что вы допустили ошибку при настройке поля заголовка CONTENT-TYPE. Вероятно, когда curl не распознает действительное значение CONTENT_TYPE, то неправильное значение устанавливается в значение HTTP__CONTENT_TYPE, а CONTENT_TYPE принимает значение по умолчанию.