是否存在具有codeigniter的可扩展多站点策略?

时间:2011-07-09 02:13:59

标签: php mysql codeigniter

我一直在寻找一种有效且安全的方法来启用多站点功能,以便在一段时间内进行编码。

我发现这两篇(one& two)文章非常有趣,但它们似乎并没有提供可扩展的方式。在这两个方面,约翰丹尼斯佩德里(链接二)的方法似乎更多地考虑到了我们的目的。

但是,假设您有100个,500个或1000个单独的网站,这种方法仍然是最好的方法吗? IE浏览器。在文件夹中有500个单独的db配置文件,用php更新它们是最好的方法吗?

我认为有用的另一种方法是配置选项数据库。更新数据库,您可以让其他网站上线。但是,这需要以明文形式存储所有数据库用户名和密码。看不出那个过得好。

任何答案,建议,提示或有趣的想法?

2 个答案:

答案 0 :(得分:3)

我们可以做这样的事情。

config.php文件中,我们可以将base_url定义为

$protocol = preg_split('[/]', $_SERVER["SERVER_PROTOCOL"]);

$http_protocol = strtolower($protocol[0]) . "://";

$config['base_url']     = $http_protocol . $_SERVER["HTTP_HOST"]. "/" ;

我们可以使用前缀并以下划线分隔的域名来创建数据库,并完成设置。

在database.php文件中如下

$db['default']['hostname'] = 'localhost';

$db['default']['username'] = 'xxxxxxxx';

$db['default']['password'] = 'xxxxxx';

$db['default']['database'] = $_SERVER["HTTP_HOST"] . '_thedatabasename';

答案 1 :(得分:0)

也许你可以在HMVC(分层模型视图控制器)中找到答案

Codeigniter有模块化扩展,您可以找到一些here