設定環境變數常見的地方為區分開發環境/生產環境,或是定義某些資料庫的帳號密碼
設定Apache環境變數
指令
設定目前環境變數為DEV
VISetAvUNv N 資料庫帳號密碼 SetEnv MYSQL_USERNAME rootSetEnv MYSQL_PASSWORD root.
ServerAdmin admin@admin.com
DocumentRoot "/var /www/"
ServerName localhost
SetEnv RUNTIME_ENVIROMENT DEV
Set
ErrorLog "logs/error.log" CustomLog "logs/access.log" common 設定Nginx環境變數指令設定目前環境變數為DEV fastcgi_param RUNTIME_ENVIROMENT 'DEV'fastcgi_param MYSQL_USERNAME 'root'
fastcgi_param MYSQL_PASSWORD 'root '
設定檔格式
在fastcgi_params檔案中設定
fastcgi_param RUNTIME_ENVIENT
fastcgi_param RUNTIME_ENVIENTfastcgi_param RUNTIME_ENVIENT' gi_param MYSQL_PASSWORD 'root';
在nginx.conf中設定
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; } }
為PHP腳本設定環境變數
為目前使用者暫時設定
臨時設定只需要執行
UE為目前使用者永久設定
在~/.bashrc(不同系統各有不同)中寫
為所有使用者(不包括root)設定
建立檔案/etc/profile.d/test.sh,寫入
KEY =VALUE
為所有使用者(包括root)設定
在/etc/environment中寫入
KEY=VALUE
,所以對於root來說,需要重啟機器在Supervisor中設定有的時候PHP腳本是用Supervisor來控制的,所以記得設定supervisor配置中的environment項目在PHP中調用伺服器環境變數 在PHP中有兩個呼叫方式: $env = getenv('RUNTIME_ENVIROMENT');還有超全域變數方式: