【问题标题】:Custon headers not working on php 5.6 - apache 2.4, debian 8 jessie自定义标头不适用于 php 5.6 - apache 2.4、debian 8 jessie
【发布时间】:2015-08-27 02:11:30
【问题描述】:

我刚刚将我的 debian 7 wheezy 升级到了 debian 8 jessie。 Apache 和 php 从 apache 2.2.22 to 2.4.10php 5.4.x to 5.6.9 相应更新。现在,当使用 ajax 请求发送自定义标头时,它们不存在于 php.ini 中。这是一个简单的例子,index.phpajax.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 不存在。

我已经在我的另一台带有 apache 2.2 和 php 5.4 的 debian 7 服务器上尝试了这个示例,它工作正常 - 设置了标头。但对于升级版本,它没有。

Mod 标头已启用并重新启动 apache。

谢谢

【问题讨论】:

    标签: php apache debian apache2.4 php-5.6


    【解决方案1】:

    这些标题是什么?如果它是带有下划线的标题,则此差异来自 Apache 2.4:

    Header names with underscores ignored in php 5.5.1 / apache 2.4.6

    【讨论】:

    • 不敢相信这只是一个这样的问题,试图解决这个问题几个小时......非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    • 2015-06-03
    • 2017-05-29
    • 1970-01-01
    • 2013-06-05
    • 2020-10-28
    相关资源
    最近更新 更多