我必须在CodeIgniter(CI)中创建应用程序,该应用程序将具有多个客户端的相同核心文件。 每个客户端都在自己的文件夹中运行应用程序(使用子域),其中是index.php文件。在该index.php中包含该用户数据库的配置(每个用户都有自己的数据库)。 我试图将CI中的所有fiels和应用程序包装到一个额外的类中,然后在每个子域的每个文件夹中创建该类的实例。但那没用。
然后我尝试在每个客户端子目录中的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');
有没有办法解决这个问题并以这种方式完成,或者我应该有不同的文件和文件夹组织?那怎么办呢?
答案 0 :(得分:1)
你可以像在这里说的那样使用它:http://ellislab.com/codeigniter/user-guide/general/managing_apps.html
没有必要在课堂上包装。
保留在根系统和应用程序文件夹中,应用程序文件夹中的所有文件,打包在application / foo /。
中然后在root用户/ town / client中创建文件夹。
将index.php从默认CI文件夹中复制,并将其放在users / town / client中。
设置系统和应用程序文件夹的路径,你就可以了。
您可以将每个客户端设置为使用application / foo(这样您就可以让多个客户端使用同一个应用程序文件夹)