我想知道有没有办法可以设置配置,我可以有两个数据库条目,当环境是本地和服务器时可以工作。
我很久以来就通过代码切换了一个解决方案。现在无法找到它。你们是怎么做到的?
答案 0 :(得分:5)
我有本地配置文件的设置。我在app / config / core.php的底部添加以下行:
if(file_exists(ROOT.'/app/config/core.local.php')) {
include_once(ROOT.'/app/config/core.local.php');
}
在core.local.php中,我可以覆盖本地计算机上不同的所有设置。 database.php也是如此。
答案 1 :(得分:1)
我认为它基于IP 在本地环境IP是127.0.0.1 在实时环境中,IP绝不是127.0.0.1
我的观点
由于
用lib / Cake / Utility / String.php查看名为的函数 public static function uuid()
欢呼声
再次感谢
答案 2 :(得分:1)
这有效
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'username',
'password' => 'password',
'database' => 'database_name',
'prefix' => '',
//'encoding' => 'utf8',
);
public $live = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'db.HOST.net',
'login' => 'username',
'password' => 'password',
'database' => 'database_name',
'prefix' => '',
//'encoding' => 'utf8',
);
public function __construct(){
if (isset($_SERVER) && isset($_SERVER['SERVER_NAME'])) {
if (strpos($_SERVER['SERVER_NAME'], 'localhost') === false) {
$this->default = $this->live;
}
}
}
}
答案 3 :(得分:1)
我使用的配置类就是这样: http://www.dereuromark.de/2010/08/17/development-vs-productive-setup
最近我将其重写为2.0作为插件版本。 它现在负责测试环境并减少您必须编写的配置行数: http://www.dereuromark.de/2012/02/25/dynamic-database-switching/