php的getallheaders函数在nginx下失效的解决办法

今天将apache下的php应用部署到了nginx上,却发现报错:找不到getallheaders()这个函数。

很惊奇,这不是php的默认函数么,怎么给我找不到了。但问题就是出现了,只能去找解决方法。

原来此函数是apache_request_headers()函数的别名,看到了吧,带有apache的血统,因此nginx不能用很正常了。

找到原因了,还是需要解决方案的,在php手册里找到了此函数的写法,于是摘抄下来,方便以后查看:

<?php
if (!function_exists(‘getallheaders‘)) {
    function getallheaders() {
        foreach ($_SERVER as $name => $value) {
            if (substr($name, 0, 5) == ‘HTTP_‘) {
                $headers[str_replace(‘ ‘, ‘-‘, ucwords(strtolower(str_replace(‘_‘, ‘ ‘, substr($name, 5)))))] = $value;
            }
        }
        return $headers;
    }
}
时间: 2024-12-13 09:54:33

php的getallheaders函数在nginx下失效的解决办法的相关文章

margin-bottom在IE6和IE7下失效的解决办法

IE6/7下margin-bottom无效一般出现在容器里某元素设置后在父容器内无效,这个时候只需要在父容器中加入以下两句css,基本上所有的浏览器都兼容了: overflow:hidden;zoom:100%;

IE6/IE7下margin-bottom失效兼容解决办法及双倍边距问题

(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期 2014-04-08) 一.IE6/IE7下margin-bottom失效兼容解决办法 1.用padding-bottom代替:2.在父标签中加入overflow:hidden:或zoom:100%示例代码: 不正常显示 ul{} li{ list-style:none; float:left; margin:10px;} 1. 你会发现左边10px 变成20px了, 解决办法:在li的CSS中加入:display:inline

前端问题——png图片在IE6下透明失效,解决办法

今天,一位同事问我问题,png 图片在IE6下透明背景失效. 解决办法,在网上查了很多,最后还是采用两种方案来解决这个问题 1.把这个网页的png格式图片变更为gif格式的图片.问题解决 2.就是让这个网页引用一段JS代码,如下: 1 if (!window.XMLHttpRequest) { 2 window.attachEvent("onload", enableAlphaImages); 3 } 4 5 function enableAlphaImages(){ 6 for (v

zsh下 home end 失效的解决办法

我的环境是 centos 6.5 x64 安装 oh my zsh 后,home end 键失效,解决办法为在 .zshrc 里添加设置如下 #Rebind HOME and END to do the decent thing: bindkey '\e[1~' beginning-of-line bindkey '\e[4~' end-of-line case $TERM in (xterm*) bindkey '\eOH' beginning-of-line bindkey '\eOF' e

demopu教你Nginx 403 forbidden的解决办法

来自:http://www.demopu.com/?p=639 常见的,引起nginx 403 forbidden有二种原因,一是缺少索引文件,二权限问题.1,缺少index.html或者index.php文件[plain]view plaincopyserver {        listen       80;        server_name  localhost;        index  index.php index.html;        root  /var/www;  

浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决办法

当浏览器禁用Cookies时,基于Cookie的会话跟踪机制就会失效,解决办法是利用URL重写机制跟踪用户会话. 在使用URL重写机制的时候需要注意,为了保证会话跟踪的正确性,所有的链接和重定向语句中的URL都需要调用encodeURL()或encodeRedirectURL()方法进行编码.另外,由于附加在URL中的SessionID是动态产生的,对于每一个用户都是不同的,所欲对于静态页面的相互跳转,URL重写机制就无能为力了,但是,我们也可以通过将静态页面转换为动态页面来解决这个问题. 在w

MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法

Ms - sql 数据库批量替换字符串 MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法 update ContentInfo set spcContent=replace(cast(spcContent as varchar(max)),'http://www.buy5188.com/','http://www.epowerchina.com.cn/')

Spring mvc 返回JSON 在IE 下提示下载 解决办法

http://www.blogjava.net/iamlibo/archive/2013/11/21/406646.html ———————————————————————————————————————————————————————————————————— 在IE低版本下接收Spring MVC @ResponseBody 返回的JSON 会提示下载保存.在chrome下没有问题.解决办法 是: <mvc:annotation-driven ignoreDefaultModelOnRedi

[转]iOS Safari 中click点击事件失效的解决办法

iOS Safari 中click点击事件失效的解决办法 问题起因: 在微信公众号开发(微站)过程中用jquery的live方法绑定的click事件点击无效(不能执行) 问题描述 当使用委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效. 解决办法 解决办法有 4 种可供选择: ?将 click 事件直接绑定到目标?元素(??即 .target)上 将目标?元素换成