闻心阁

一蓑烟雨看苍生,半壶浊酒笑红尘

Call to undefined function apache_request_headers解决方案

2013-03-16 约 1 分钟读完 搬砖秘籍

今天在移植我的图床程序的时候,遇到一个很纠结的问题,显示Call to undefined function apache_request_headers,在我的个人服务器和本机里是没有任何问题的,但是移植到地大的服务器的时候却出了这种问题,百思不得其解,不过最终找到了下面的解决方案。

首先说说这个apache_request_headers函数,php手册里面是这么说的:

此函数仅在 PHP 作为 Apache 模块安装时才可使用

经过分析可能原因出在服务器的身上,与我的程序没有多大关联,但是不能出了问题就不用了啊!!这里奉上的我的个人解决方案,基本思路是这样:

Call to undefined function apache_request_headers,既然说没有定义这个函数,那我们重新定义一个就是。

下面是我找到的定方法

<?php 
if (!function_exists('apache_request_headers')) { 
     eval(' 
         function apache_request_headers() { 
             foreach($_SERVER as $key=>$value) { 
                 if (substr($key,0,5)=="HTTP_") { 
                     $key=str_replace(" ","-",ucwords(strtolower(str_replace("_"," ",substr($key,5))))); 
                     $out[$key]=$value; 
                 } 
             } 
             return $out; 
         } 
     '); 
 } 
?>

把这个函数添加到你需要使用的php文件里面即可。