0

私はcodeigniterを使用しています。突然、何らかの理由で、私のapplication / config/config.phpが2回ロードを開始しました。

設定ファイルの先頭に、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('...');で少し遊んだ 次に、構成の二重読み込みの問題が発生しました。

どんな助けでもありがたいです...

4

1 に答える 1

0

さて、私はあなたがどのような種類のハックを使用しているのかわかりません、そしてなぜあなたはconfiguration変数だけが宣言されるべきであるファイルでそのようなことをするのですか?そのコードを削除するか、CodeIgniterの新しいコピーから開始することをお勧めします。CodeIgniterがこのファイルを2回ロードする場所と目的がわかりません。とにかく、あなたは決してそのようなことをするべきではありません。なんらかの厄介な理由で本当に必要な場合は、これをファイルに移動するMY_core.phpか、index.phpファイルに移動してみてください。それでも完全に間違っていますが、現在の状態よりもはるかに優れています。

于 2012-07-10T07:07:01.853 に答える