如何高效、快速的让程序识别自我的运行环境?

程序运行环境主要有:

本地环境/开发环境
测试环境
预发布环境
线上环境

例如:开发环境短信验证为关闭状态,其余环境为开启状态

if (isLocal) {
    return '123456';
} else {
    return sendSms();
}

环境变化由程序获取环境变量最佳,尽量保证程序代码在各环境中的一致性

我想知道大家都是如何在程序中区分环境等级的

问题:

  1. 最友好配置环境变量,配置于服务器环境层,还是Nginx/Apache配置,or其他?
  2. 程序中增加了if 乃至 switch 判断,如何高效获取/判断环境,并执行相应内容?
阅读 2.5k
3 个回答

clipboard.png

我用的laravel 框架 ,在项目根目录有.env和.env_local文件

可以配置在服务器环境层,也可以配置在php-fpm.conf

;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp
env[TEST_VAR_1] = $TEST_VAR

根据$_ENV引入不同的配置

我司主要是采用Nginx配置,配合getenv函数解决环境问题

不同环境采用不同配置文件

程序中通过if / switch进行不同逻辑

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题