一段时间以来,我一直在寻找一种高效、安全的方式来启用 codeigniter 的多站点功能。
我发现这两篇( one 和 two )文章非常有趣,但它们似乎没有提供可扩展的方法。在这两者中,约翰·丹尼斯·佩德里(John Dennis Pedrie)的(链接二)方法似乎更符合我们的目的。
但是,假设您有 100、500 或 1000 个独立站点,这种方法仍然是最好的方法吗? IE。在一个文件夹中拥有 500 个单独的数据库配置文件并使用 php 更新它们是最好的方法吗?
我认为有用的另一种方法是配置选项数据库。更新数据库,您就可以让另一个站点上线。然而,这需要以明文形式存储所有数据库用户名和密码。看不出进展顺利。
有任何答案、建议、技巧或有趣的想法吗?
最佳答案
我们可以做这样的事情。
在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';
关于php - Codeigniter 是否有可扩展的多站点策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6632266/