設置環境變量常見的地方爲區分開發環境/生產環境,或者定義一些數據庫的賬號密碼 php
設置當前環境變量爲DEV nginx
SetEnv RUNTIME_ENVIROMENT DEV
數據庫賬號密碼 數據庫
SetEnv MYSQL_USERNAME root SetEnv MYSQL_PASSWORD root
<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>
設置當前環境變量爲DEV bash
fastcgi_param RUNTIME_ENVIROMENT 'DEV'
數據庫賬號密碼 服務器
fastcgi_param MYSQL_USERNAME 'root' fastcgi_param MYSQL_PASSWORD 'root'
在fastcgi_params文件中配置 spa
fastcgi_param RUNTIME_ENVIROMENT 'DEV'; fastcgi_param MYSQL_USERNAME 'root'; fastcgi_param MYSQL_PASSWORD 'root';
在nginx.conf中配置 code
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; } }
臨時設置只須要執行 server
export KEY=VALUE
在~/.bashrc(不一樣系統各有不一樣)中寫 開發
建立文件/etc/profile.d/test.sh,寫入 get
KEY=VALUE
在/etc/environment中寫入
KEY=VALUE
注意,這個文件的生效時間是用戶登陸時,因此對於root來講,須要重啓機器
有的時候PHP腳本是用Supervisor來控制的,因此記得設置supervisor配置中的environment項
在PHP中有兩個調用方式:
$env = getenv('RUNTIME_ENVIROMENT');
還有超全局變量方式:
$env = $_SERVER['RUNTIME_ENVIROMENT'];