CGI模式下的bug

一般情况下$_SERVER['PHP_SELF']  与 $_SERVER['SCRIPT_NAME']  没有什么区别,但是如果PHP是以CGI模式运行的话两者就有差异

建议使用$_SERVER['SCRIPT_NAME']

以下是有bug的代码

// 当前文件名
    if(!defined('_PHP_FILE_')) {
        if(IS_CGI) {
            //CGI/FASTCGI模式下
            $_temp  = explode('.php',$_SERVER['PHP_SELF']);//有问题,应该将$_SERVER['PHP_SELF']改成:$_SERVER['SCRIPT_NAME']
define('_PHP_FILE_', rtrim(str_replace($_SERVER['HTTP_HOST'],'',$_temp[0].'.php'),'/')); }else { define('_PHP_FILE_', rtrim($_SERVER['SCRIPT_NAME'],'/')); } }

 

posted @ 2014-06-11 15:28  不负韶华668  阅读(173)  评论(0编辑  收藏  举报