根据环境变量配置,动态加载配置文件(区分开发环境,生成环境)

来源:互联网 发布:ubuntu安装apache2 php 编辑:程序博客网 时间:2024/06/04 18:00

开发中我们往往需要根据环境变量来动态加载配置文件,比如用来保证开发环境,生成环境加载不同配置文件如数据库连接信息等

1. 首先配置环境变量

  • apache服务器配置方法
指令中加入 SetEnv RUNTIME_ENVIROMENT DEV<VirtualHost *:80>    ServerAdmin admin@admin.com    DocumentRoot "/var/www/"    ServerName localhost    SetEnv RUNTIME_ENVIROMENT DEV    SetEnv MYSQL_USERNAME root    SetEnv MYSQL_PASSWORD root    ErrorLog "logs/error.log"    CustomLog "logs/access.log" common</VirtualHost>
  • Nginx服务器的配置方法
在fastcgi_params文件中配置fastcgi_param RUNTIME_ENVIROMENT 'DEV'server {    listen   80;     root /var/www;    index index.php;    server_name localhost;    location /    {            index index.php;    }       location ~ .*\.(php|php5)?$ {        fastcgi_pass 127.0.0.1:9000;        fastcgi_index index.php;        include fastcgi_params;    }   }

2. php程序端,读取环境变量做处理

  • 给出兼容CLI命令行模式,的环境变量读取写法
$_SERVER['RUNTIME_ENVIROMENT'] = isset($_SERVER['RUNTIME_ENVIROMENT'])?$_SERVER['RUNTIME_ENVIROMENT']:(getenv('RUNTIME_ENVIROMENT')?getenv('RUNTIME_ENVIROMENT'):'');
  • 定义常量,后续使用
define('RUN_ENV',$_SERVER['RUNTIME_ENVIROMENT']);
  • 引入配置文件
require_once DIR_ROOT . '/system/config/' . RUN_ENV . '/config.php';
0 0
原创粉丝点击