Добрый день!
Столкнулся с проблемой получения заголовков HTTP.
Использую nginx и php-fpm. Задача заключалась в том что нужно было получить дополнительный заголовок и проверить его.
Использовал альтернативную функцию getallheaders:
if (!function_exists('getallheaders'))
{
function getallheaders()
{
$headers = '';
foreach ($_SERVER as $name => $value)
{
if (substr($name, 0, 5) == 'HTTP_')
{
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
}
}
return $headers;
}
}
В нее записывают переменны с ключом HTTP_ из переменной $_SERVER
В конфиге Nginx указал:
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
try_files $uri =404;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param HTTP_HOST $host;
fastcgi_param HTTP_CONTENT_TYPE $content_type;
fastcgi_param HTTP_CONTENT_HMAC $http_content_hmac;
access_log /var/log/nginx/postdata.log main_post;
}
Не могу понять почему переменная $_SERVER[CONTENT_TYPE] передает пустое значение?
Интересует так же вопрос: как указывать в конфиге дополнительный параметр, в моем примере это Content-HMAC. Для вывода в логах переменная указывается "http_content_hmac"
Заранее Спасибо за помощь!