我正在使用codeigniter。突然,由于某种原因,我的application / config / config.php开始加载两次。
我在配置文件的顶部有以下代码,从第5行到第12行:
function __autoload ($class) {
$file = APPPATH . 'libraries/' . $class . EXT;
if (strpos($class, 'CI_') !== 0) {
if (file_exists($file) && is_file($file)) {
@include_once (APPPATH . 'libraries/' . $class . EXT);
}
}
}
当我测试页面时,我收到此错误:
Fatal error: Cannot redeclare __autoload() (previously declared in C:\xampp\htdocs\ci_centric\application\config\config.php:5) in C:\xampp\htdocs\ci_centric\application\config\config.php on line 12
如果我使用if(!function_exists('__autoload')) { ... }
包装自动加载,我会得到以下输出:
Notice: Constant FRONTEND_PATH already defined in C:\xampp\htdocs\ci_centric\application\config\config.php on line 390
Notice: Constant FRONTEND_WEBPARTS_PATH already defined in C:\xampp\htdocs\ci_centric\application\config\config.php on line 391
Notice: Constant FRONTEND_MAINPAGES_PATH already defined in C:\xampp\htdocs\ci_centric\application\config\config.php on line 392
Notice: Constant BACKEND_PATH already defined in C:\xampp\htdocs\ci_centric\application\config\config.php on line 393
Notice: Constant BACKEND_WEBPARTS_PATH already defined in C:\xampp\htdocs\ci_centric\application\config\config.php on line 394
Notice: Constant BACKEND_MAINPAGES_PATH already defined in C:\xampp\htdocs\ci_centric\application\config\config.php on line 395
Notice: Constant BACKEND_MAINPAGES_PATH already defined in C:\xampp\htdocs\ci_centric\application\config\config.php on line 396
.
.
.
过去几天工作都很好;我玩$ this-> session-> flashdata('...');然后我得到了配置双重加载问题。
任何帮助将不胜感激......
答案 0 :(得分:0)
嗯,我不知道你使用什么样的黑客,为什么你在configuration
文件中做这些事情,只应声明变量。您应该删除该代码或更好,甚至从CodeIgniter的新副本开始。你不知道CodeIgniter想要加载这个文件两次的目的和用途。无论如何,你不应该以任何方式做这些事情。如果出于某些尴尬的原因确实有必要,你可以尝试将其移至MY_core.php
甚至index.php
文件,这仍然是完全错误的,但比你现在的要好得多。