Я только что обновил свой Debian 7 Wheezy до Debian 8 Jessie. Apache и php были обновлены соответственно с apache 2.2.22 to 2.4.10
и с php 5.4.x to 5.6.9
. Теперь при отправке пользовательских заголовков с запросом ajax их нет в php. Вот простой пример с файлами index.php
и ajax.php
со следующим содержимым соответственно.
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(document).bind("ajaxSend", function(elm, xhr, s){
xhr.setRequestHeader('MY_HEADER', 'my_header_value');
});
$.ajax({
type : "POST",
url : 'ajax.php',
data : {},
error : function() {
alert('error');
},
success : function(data) {
alert(data);
}
});
});
</script>
</head>
<body>
<?php //phpinfo();?>
</body>
</html>
и
<?php
if (isset($_SERVER['HTTP_MY_HEADER'])) {
echo $_SERVER['HTTP_MY_HEADER'];die;
}
print_r($_SERVER);
?>
В $_SERVER
HTTP_MY_HEADER
нет.
Я попробовал этот пример на своем другом сервере с Debian 7 с Apache 2.2 и php 5.4, и он отлично работает - заголовок установлен. Но для обновленной версии этого нет.
Заголовки модов включены и апач перезапущен.
Спасибо