实现一: // 检测环境变量 $env = isset($_SERVER['APPLICATION_ENV']) ? $_SERVER['APPLICATION_ENV'] : 'development'; if (!in_array($env, array('development', 'testing', 'production', 'preview'))){ exit('can not identify environment'); } define('APP_STATUS', $env); config.php // 应用模式状态 'app_status' => APP_STATUS, 然后在 development.php 或 testing.php 里就配置你不同的数据库或其他,nginx 的fastcgi的param 配一下这个APPLICATION_ENV变量即可。 实现二: if ($_SERVER['HTTP_HOST'] == 'test.oa.com' || $_SERVER['HTTP_HOST'] == 'pro.oa.com') { //production enviroment define("DB_HOST",'10.10.10.10'); define("DB_PORT",'10000'); define("DB_USER",'testtest'); define("DB_PASSWORD",'test@2018'); define("DB_DATABASE",'testtest'); define("DEBUG", false); define("RIO_TOKEN", $_SERVER['HTTP_HOST'] == 'pro.oa.com' ? 'Q3NednewYAsdfhGq0oxECHI2TyzFTpIW': '29f043705ba64532sdfgsa4eb8296aa2082'); } else if ($_SERVER['HTTP_HOST'] == 'dev.oa.com') { //节能减排小游戏 define("DB_HOST",'10.10.10.11'); define("DB_PORT",'10000'); define("DB_USER",'testtest1'); define("DB_PASSWORD",'test1@2018'); define("DB_DATABASE",'testtest1'); define("DEBUG", false); define("RIO_TOKEN", '0b06e8sdf0c443ba625230ea4fd448a'); } else { define("DB_HOST",'10.0.0.12'); define("DB_PORT",'3306'); define("DB_USER",'xtcdev'); define("DB_PASSWORD",'test@2017'); define("DB_DATABASE",'testtes'); define("DEBUG", true); define("RIO_TOKEN",'EPkmJrEcsdfsdoblwefB442xapn3hp3PVHM'); } 实现三: public/index.php 入口脚本 // Define application environment defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development')); 实现四: //虚拟主机 //you can also edit your virtual host configuration adding this line: SetEnv APPLICATION_ENV "development" |