<?php private function _init_config() { $_config = array(); //常量DISCUZ_ROOT在/source/class/class_core.php文件中定义 //载入$_config变量 @include DISCUZ_ROOT."./config/config_global.php"; if (empty($_config)) { if (!file_exists(DISCUZ_ROOT."./data/install.lock")) { header("location: install"); exit; } else { system_error("config_notfound"); } } if (empty($_config["security"]["authkey"])) { $_config["security"]["authkey"] = md5($_config["cookie"]["cookiepre"].$_config["db"][1]["dbname"]); } //没有设置$_config["debug"],/source/function/function_debug.php文件不存在 if (empty($_config["debug"]) || !file_exists(libfile("function/debug"))) { define("DISCUZ_DEBUG", false); error_reporting(0); } elseif ($_config["debug"] === 1 || $_config["debug"] === 2 || !empty($_REQUEST["debug"]) && $_REQUEST["debug"] === $_config["debug"]) { define("DISCUZ_DEBUG", true); error_reporting(E_ERROR); if ($_config["debug"] === 2) { error_reporting(E_ALL); } } else { define("DISCUZ_DEBUG", false); error_reporting(0); } define("STATICURL", !empty($_config["output"]["staticurl"]) ? $_config["output"]["staticurl"] : "static/"); //给$this->var数组增加一个staticurl单元 $this->var["staticurl"] = STATICURL; $this->config = & $_config; //填充$this->var["config"]同样也设置了$_G["config"]全局变量 $this->var["config"] = & $_config; //如果cookie路径的第一个字符不是正斜杠则添加 if (substr($_config["cookie"]["cookiepath"], 0, 1) != "/") { $this->var["config"]["cookie"]["cookiepath"] = "/".$this->var["config"]["cookie"]["cookiepath"]; } //修改了cookie前缀 $this->var["config"]["cookie"]["cookiepre"] = $this->var["config"]["cookie"]["cookiepre"].substr(md5($this->var["config"]["cookie"]["cookiepath"]."|".$this->var["config"]["cookie"]["cookiedomain"]), 0, 4)."_"; //_init_config()方法执行完后,$_G变量有以下几点变化: //第一是$_G全局变量增加了一项为$_G["staticurl"]="static/" //第二是设置了$_G["config"]的值(从包含文件/config/config_global.php里载入) //第三是修改了cookie前缀 } ?>