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 得到如下:


本文详细介绍了如何在ThinkPHP5中配置和使用系统环境变量,包括在`/etc/profile`中设置环境变量,修改Nginx配置文件以传递环境变量,更新ThinkPHP的base.php基类以读取环境变量,以及在控制器中测试环境变量的用法。通过这些步骤,开发者可以灵活地根据不同的环境调整应用的行为。
2000

被折叠的 条评论
为什么被折叠?



