【问题标题】:Running multiple clients from same CodeIgniter files从相同的 CodeIgniter 文件运行多个客户端
【发布时间】:2013-11-06 16:45:19
【问题描述】:

我必须在 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');

有没有办法解决这个问题并以这种方式完成,或者我应该有不同的文件和文件夹组织?那该怎么做呢?

【问题讨论】:

  • 一个系统文件夹和多个应用程序文件夹可以轻松运行多个应用程序。请访问ellislab.com/codeigniter/user-guide/general/managing_apps.html我也使用相同的原理在www.thephpcode.com为用户预览生成的网站。
  • 我知道,但我的每个应用程序文件夹对于每个客户端都是相同的。那么拥有 10 到 15 个包含相同文件的文件夹有什么意义呢?

标签: php .htaccess codeigniter include subdomain


【解决方案1】:

你可以像这里所说的那样使用它:http://ellislab.com/codeigniter/user-guide/general/managing_apps.html

不需要在类中包装。

保留在根系统和应用程序文件夹中,应用程序文件夹中的所有文件,打包在 application/foo/ 中。

然后在 root users/town/client 中创建文件夹。

从默认 CI 文件夹中复制 index.php,并将其放在 users/town/client 中。

设置系统和应用程序文件夹的路径,一切顺利。

您可以将每个客户端设置为使用 application/foo(这样您就可以让多个客户端使用同一个应用程序文件夹)

【讨论】:

  • 谢谢。将尝试此操作并报告结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-21
  • 2016-03-19
  • 2023-03-11
  • 2018-02-14
相关资源
最近更新 更多