thinkphp5读取系统配置的环境变量的方法
配置系统环境变量
vim /etc/profile 在末尾增加
export MDZ_ENV=local
使其生效
source /etc/profile
修改nginx服务thinkphp配置文件
vim /usr/local/nginx/conf/conf.d/thinkphpwu.conf
增加
fastcgi_param MDZ_ENV “local”;
具体配置如下:
location ~ .+\.php($|/) {
set $script $uri;
set $path_info "/";
if ($uri ~ "^(.+\.php)(/.+)") {
set $script $1;
set $path_info $2;
}
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php?IF_REWRITE=1;
include fastcgi_params;
fastcgi_param PATH_INFO $path_info;
fastcgi_param SCRIPT_FILENAME $document_root/$script;
fastcgi_param SCRIPT_NAME $script;
fastcgi_param MDZ_ENV "local";
}
修改thinkphp调用的base.php基类
vim thinkphpwu/thinkphp/base.php 文件
//增加系统环境变量
defined('MDZ_ENV') or define("MDZ_ENV",getenv('MDZ_ENV'));
测试环境变量
随便找一个控制器,增加环境变量的判断,我用的是本地admin下的index控制器
<?php
namespace app\admin\controller;
use think\cache\driver\Redis;
class Index extends Base
{
public function index()
{
if (MDZ_ENV == 'local') {
echo 'MDZ_ENV的值是local';
} else {
echo 'MDZ_ENV的值不是local';
}
die();
//加载视图文件
return $this->fetch();
}
}
访问http://app.thinkphpwu.com/admin/index 得到如下: