在PHP开发中为了一些特定的需求,比如区分线上与线下的开发环境配置。

如果我们能通过某个变量判断,假如是:$_SERVER[‘ENVIRONMENT’]这个变量的话,可以很方便灵活的进行开发。

比如在入口文件中加判断:

define('ENVIRONMENT', isset($_SERVER[‘ENVIRONMENT’]) ? $_SERVER[‘ENVIRONMENT’] : ‘development’);

那么如何在PHP中使用$_SERVER数组中获得这个变量的自定义值呢?

很简单,二步就可以实现nginx设置PHP中的$_SERVER变量。

一、首先要在nginx配置中,加入你想添加的变量值,文件内容如下:

location ~ \.php$ {
try_files $uri =404;
root /data/www.shuchengxian.com/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param ENVIRONMENT 'DEV'; #这个就是你要加的变量
include fastcgi_params;
}

二、重启一下nginx服务。

三、用PHP输出一下$_SERVER数组,查看是否有添加的值。

Array
(
[USER] => www
[HOME] => /home/www
[ENVIRONMENT] => DEV
[REQUEST_TIME] => 1603264337
......
)

以上简单的二个步骤,即可实现在nginx中动态设置PHP服务$_SERVER变量的值。