项目中一般常常会有两种服务器环境,
最常见就是dev测试服务器环境和online正式服务器环境
两个不同得服务器那么就会有两套不同得配置文件(mysql,redis...)
不同的配置文件名
config_dev.php
config_online.php
相同的链接方式
mysql,redis...
这个时候就可以搞一个小判断来判断当前环境是哪一个?
一。读取当前是哪一个环境?
define('EDITION', isset($_SERVER['EDITION']) ? $_SERVER['EDITION'] : 'online');
define('ROOT_PATH', realpath(__DIR__ . '/../'));
define('CORE_PATH', ROOT_PATH . '/Core');
$configFileName = (EDITION == 'online') ? 'config_online' : 'config_dev';
include_once CORE_PATH . DIRECTORY_SEPARATOR . $configFileName . '.php';
如果这个 $_SERVER['EDITION']
不存在直接读online的配置文件。
存在就在判断一下 EDITION == 'online'
来决定读哪个配置文件。
二。设置配置环境$_SERVER['EDITION']
cat /home/www/nginx/conf/servers/xx.phpfunny.server
查看项目配置的params
/home/www/nginx/conf/servers
location ~ \.php$ {
root /data/htdocs/dev.phpla.com/public;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
include params/dev.phpla.com.params;
}
cat /home/www/nginx/conf/params/xx.phpfunny.cn.params
填写这个 EDITIONfastcgi_param EDITION "dev";
这样在测试站配置好 $_SERVER['EDITION'] 第一步就可以判断啦。
以上思路仅供参考。
评论