我有时候会使用Codeigniter,当我在本地站点上开发完成后,需要将文件迁移到服务器。 /config/
文件夹中的所有文件都需要更改以匹配服务器设置。为了这些更改不需要进行整个提交,我是应该让Git完全忽略这些文件,还是有一种方式可以跟踪这些更改并在适当的时候使用Git应用它们?
我有时候会使用Codeigniter,当我在本地站点上开发完成后,需要将文件迁移到服务器。 /config/
文件夹中的所有文件都需要更改以匹配服务器设置。为了这些更改不需要进行整个提交,我是应该让Git完全忽略这些文件,还是有一种方式可以跟踪这些更改并在适当的时候使用Git应用它们?
注意:这假定您的模板配置文件具有可识别的内容(过滤器没有文件的名称或路径)。有关git内容过滤驱动程序的限制,请参见“Git类似于svn的$URL$关键字扩展”。
config
文件夹中创建两个文件夹,一个名为development
,另一个名为production
。现在将config.php、database.php等复制到这些文件夹中。当您在生产服务器上时,CodeIgniter将首先检查production
文件夹中的文件。如果不存在,则使用config
文件夹中的默认文件。如果您在开发环境中,则CodeIgniter将首先检查development
文件夹。config
文件夹中。#This code for Development Environment
SetEnv CI_ENV development
并且
#This code for Production Environment
SetEnv CI_ENV production
这取决于您的需求。在我的公司,我们采用其他方法。 我们创建了几个环境(其中星号是内部项目名称):
根据域名,我们自动切换配置。 基本上配置文件看起来像:
<?php
return array(
'_env' => array(
'devel' => array(
// config for devel
),
'production' => array(
// config for production
)
)
);
?>
一些框架(例如Zend)在虚拟主机配置文件(或.htaccess文件)中设置环境名称。您应该查看:zend framework auto switch production staging test .. etc
您是否查看过CI文档?有一个章节专门介绍此问题。