您的位置:首页 > 其它

web开发如何配置多环境

2015-09-10 09:40 197 查看
在web应用程序开发过程中,常常会牵扯到开发环境这个话题,通常来说,至少存在两个开发环境:生产环境和测试环境。

问题在于,在不同的开发环境下,需要用到不同的设置(如数据库连接等),那么问题来了:如何让程序自动识别所处的开发环境是哪个开发环境呢?

1、配置多个入口文件(symfony框架的做法)

目前几乎所有的web应用程序都实现了单一入口,比如你的单一入口是index.php,部分代码如下:

define('ENVIRONMENT', 'pro');


接下来你可以再建立一个单一入口文件index_dev.php,

define('ENVIRONMENT', 'dev');
然后在各自的开发环境服务器做好配置,测试服务器的请求都交由index_dev.php去处理,生产服务器上的请求都交由index.php去处理。

2、在入口文件根据不同服务器的ip地址、域名等判断设定环境

如上所述,除了新建入口文件的方式,我们也可以在入口文件的代码里做文章,根据ip来自动设定开发环境:

if(ip2long("your production ip")  == "×××"){
     define('ENVIRONMENT', 'pro');
}elseif(ip2long("your development ip")  == "×××"){
     define('ENVIRONMENT', 'dev');
}
根据域名来设置也类似,这里就不在赘述,还有一种比较特别的方式,这里特别提一下。

在apache或nginx服务器的配置文件中我们可以设定一些环境变量,然后通过php的getenv方法或者 $_SERVER获取,就可以知道目前所处的开发环境了。

define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: