我是一名RoR开发人员,但我目前正在使用CakePHP来处理一个无法调整服务器的项目。在我的Rails制作服务器中,Passenger被设置为自动使用“Production”环境,覆盖本地应用程序设置。我想设置我的cakephp应用程序来做同样的事情。您通常如何使用CakePHP完成这项工作?你是否设置了一个域解析器,或者你只是将core.php和database.php放在版本控制之外? 由于提前, 达维德如何配置CakePHP来检测我的开发/生产环境,或者只是将配置文件保留在版本控制之外?
6
A
回答
11
如果我明白问题的正确,这可能是你需要的东西:
Automatically choose database connections in CakePHP
简言之,覆盖DATABASE_CONFIG
构造:
class DATABASE_CONFIG
{
//initalize variable as null
var $default=null;
//set up connection details to use in Live production server
var $prod =
array(
// ...
);
// and details to use on your local machine for testing and development
var $dev =
array(
// ...
);
function __construct()
{
if(isset($_SERVER['SERVER_NAME'])){
switch($_SERVER['SERVER_NAME']){
case 'digbiz.localhost':
$this->default = $this->dev;
break;
case 'digbiz.example.com':
$this->default = $this->prod;
break;
}
}
else // we are likely baking, use our local db
{
$this->default = $this->dev;
}
}
}
1
你可以只创建包含单Configure::write('debug', 0)
*指令一个额外的文件,导入,在core.php中的文件,并保持它的版本控制。两全其美。
*或任何其他你需要改变
1
对于数据库,你可以建立本地生产的连接设置,然后创建文件app/app_model.php,包括行:
class AppModel extends Model
{
var $useDbConfig = 'production';
}
然后,您可以创建文件app/app_controller.php并解析域,并通过使用Configure :: write来告诉它使用哪个dbconfig以及任何其他core.php设置。
7
这可能是更好的定义PROD/dev在bootstrap.php中。这样你就可以在应用程序中重复使用常量。
bootstrap.php中:
define('IS_PROD',(isset($_SERVER['SERVER_NAME']) && $_SERVER['SERVER_NAME'] == 'cubismedia.com') ? true : false);
database.php中:
function __construct() {
if (IS_PROD) {
$this->default = $this->prod;
} else {
$this->default = $this->dev;
}
}
//development
public $dev = array(
//db settings
);
//production
public $prod = array(
//db settings
);
相关问题
- 1. SpringBoot:配置生产与开发环境
- 2. 你的配置文件是否保留在版本控制中?
- 3. 在非生产环境中测试生产配置文件
- 4. nodeJS开发和生产环境配置文件加载
- 5. Laravel 5.3。如何配置生产环境?
- 6. Maven配置文件 - 开发vs生产
- 7. 版本控制的生产环境
- 8. 如何在环境配置文件外设置ActionMailer SMTP设置
- 9. 开发或产品环境中的Rails diff模型配置
- 10. Magento:如何将配置更改从开发迁移到生产环境?
- 11. 如何在本地和生产环境中管理Laravel中的配置文件
- 12. 我如何确保生产,测试和开发环境,
- 13. ASP.NET配置文件版本控制?
- 14. Web开发生产/测试/开发环境设置
- 15. 在Silex中检测环境类型(生产,开发或分期)
- 16. 配置WordPress网站的开发,分期和生产版本
- 17. Vagrant配置和正在开发的主题的版本控制
- 18. 连接池配置是否保留在JPA上下文之外?
- 19. 如何将配置文件从开发者版迁移到企业版?
- 20. 厨师和产品版本 - 不同产品版本的配置环境
- 21. “AWS配置”不会使用环境变量或配置文件
- 22. 配置设置从开发者机器转移到生产
- 23. 烘焙CakePHP配置控制台配置文件
- 24. 使用环境变量或配置/环境来存储配置值
- 25. 如何使用maven管理开发,生产,测试配置?
- 26. 如何在Spring中配置多个环境(开发/发布)?
- 27. 在开发人员配置文件与配送配置文件之间切换
- 28. 环境配置
- 29. 如何在运行自动化测试之前配置环境?
- 30. 配置路径在CSS图片用于开发和生产环境
完美,正是啥子我一直在寻找 – nutsmuggler 2009-06-30 20:23:31
高兴这篇文章帮助你:)请留下反馈 – Eddie 2009-07-06 15:57:45