Apache或者Nginx为PHP设置服务器环境变量

在开发项目的时候生产环境和开发环境的配置信息是不一样的,总要切换的话比较麻烦,现在我们可以通过设置服务器环境变量来区分线上生产环境还是本地开发环境,比如我们可以设置 RUNTIME_ENVIROMENT 的为 'DEV'还是'PRO'来区分。然后在PHP端通过$_SERVER['RUNTIME_ENVIROMENT']来获取值。

一、Nginx (通过fastcgi_param来设置)

//在nginx的配置文件nginx.conf中配置环境server段location中添加相应的配置信息
location ~ \.php($|/) {
    #......
    fastcgi_param    RUNTIME_ENVIROMENT 'PRO'; # PRO or DEV
    #......
}

配置好后重启(nginx -s reload)就好。

二、PHP自身(通过php主配置文件php-fpm.conf来设置)

//这个设置必须放在主配置文件php-fpm.conf里(/usr/local/php/etc/php-fpm.conf)
//直接在配置文件中添加:
env[RUNTIME_ENVIROMENT] = 'PRO'

添加后重启php-fpm (service restart php-fpm)。

三、Apache设置环境变量(SetEnv 变量名 变量值)

<VirtualHost *:80>
//......
    SetEnv RUNTIME_ENVIROMENT DEV
//......
</VirtualHost>
阅读 240

推荐阅读