nginx自定义设置PHP的$_SERVER变量
原创
©著作权归作者所有:来自51CTO博客作者叫我峰兄的原创作品,请联系作者获取转载授权,否则将追究法律责任
在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变量的值。