Codeigniter使用外部文件替换database.php
问题描述:
我有两个网站使用codeigniter使用相同的数据库配置(主机名,用户名,密码),只是想问一下是否可以从外部文件调用数据库配置?事情是,如果我想改变我的数据库的根密码,我必须手动更改这两个网站database.php,现在让我说我有10个网站这将是一个困难的任务是否正确?我只想更改单个文件,以便所有网站都可以使用该配置。Codeigniter使用外部文件替换database.php
我通过PHPmyadmin使用mysql。
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => 'root',
'database' => 'MyBlog',
'dbdriver' => 'mysqli',
答
如果你需要使用一个配置的所有网站,可以使文件(即db_config.php),并设置TI地方是提供给所有的CI的应用。
db_config.php
<?php
return [
'dsn' => '',
'hostname' => 'localhost',
'username' => '',
'password' => '',
'database' => '',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
];
然后在你的每一个应用程序的APPPATH.'config/db.php'
你应该有:
$db['default'] = require('/path/to/db_config.php');
你能做到这样。在任何地方创建一个文件,应该对所有人都是通用的并使用来自CI挂钩的curl调用该文件,并在响应中获得数据库凭证。现在的事情是如何在databse.php中传递这些动态证书?谷歌为此。这可能是一种方式,我不确定。 – Rahul