我必须在 CodeIgniter (CI) 中为多个客户端创建具有相同核心文件的应用程序。每个客户在他自己的文件夹(使用子域)中运行应用程序,其中是他的 index.php 文件。在那个 index.php 中包含该用户数据库的配置(每个用户都有自己的数据库)。我试图将 CI 中的所有字段和应用程序包装到 1 个额外的类中,然后在每个子域的每个文件夹中创建该类的实例。但这没有用。
然后我尝试从每个客户端子目录的 CI 文件夹中调用 main index.php。这是文件结构的图像:http: //img208.imageshack.us/img208/8596/shx8.png
每个子域文件夹中的 index.php 是这样的:
include "../../../application/engine.php";
$app = new Engine();
$app->start();
然后当我运行那个客户端 index.php 我得到这个:
Your system folder path does not appear to be set correctly. Please open the
following file and correct this: index.php
我确实将 CI index.php 文件夹路径更改为:
$system_path = '../../../application/engine/system';
$application_folder = '../../../application/engine/application';
然后我收到以下错误:
Fatal error: Call to a member function item() on a non-object in C:\wamp\www\projectX\application\engine\system\core\Utf8.php on line 47
如您所见,我在 system\core 文件中出现错误,我确信我不应该编辑它。
Utf8.php 第 47 行是:
AND $CFG->item('charset') == 'UTF-8'
$CFG 定义为:
global $CFG;
即使我评论该行,我也会在其他文件中收到下一个错误。
Fatal error: Call to a member function elapsed_time() on a non-object in C:\wamp\www\projectX\application\engine\system\core\Output.php on line 360
Output.php 第 360 行是:
$elapsed = $BM->elapsed_time('total_execution_time_start', 'total_execution_time_end');
有没有办法解决这个问题并以这种方式完成,或者我应该有不同的文件和文件夹组织?那该怎么做呢?