php - Codeigniter 是否有可扩展的多站点策略?

标签 php mysql codeigniter

一段时间以来,我一直在寻找一种高效、安全的方式来启用 codeigniter 的多站点功能。

我发现这两篇( onetwo )文章非常有趣,但它们似乎没有提供可扩展的方法。在这两者中,约翰·丹尼斯·佩德里(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/

相关文章:

php - 我长期运行的 laravel 4 命令一直被杀死

mysql - 在字符串中查找精确匹配的正则表达式可以在其他地方使用,但不能在 MySql 查询上使用

php - 这是 Codeigniter 事件记录中的错误吗?

mysql - 迁移主键以使用 AUTO_Increment

php - jquery ajax 表单提交不能与 codeigniter 一起使用,但可以以其他方式工作

javascript - 如何在 php 中显示喜欢该帖子的用户

php - 检查 radio 输入是否有值

javascript - AngularJS $http.post 上的错误 access-control-allow-origin

php - Yii2 自动完成 - 更新时字段中缺少值

php - 在mysql表的多个字段中分配一个值