爲PHP設置服務器(Apache/Nginx)環境變量

爲PHP設置服務器(Apache/Nginx)環境變量

設置環境變量常見的地方爲區分開發環境/生產環境,或者定義一些數據庫的帳號密碼

設置Apache環境變量

指令

設置當前環境變量爲DEV

SetEnv RUNTIME_ENVIROMENT DEV

數據庫帳號密碼

SetEnv MYSQL_USERNAME root
SetEnv MYSQL_PASSWORD root

配置文件格式

<VirtualHost *:80>
    ServerAdmin [email protected]
    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環境變量

指令

設置當前環境變量爲DEV

fastcgi_param RUNTIME_ENVIROMENT 'DEV'

數據庫帳號密碼

fastcgi_param MYSQL_USERNAME 'root'
fastcgi_param MYSQL_PASSWORD 'root'

配置文件格式

在fastcgi_params文件中配置

fastcgi_param RUNTIME_ENVIROMENT 'DEV';
fastcgi_param MYSQL_USERNAME 'root';
fastcgi_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腳本設置環境變量

爲當前用戶臨時設置

臨時設置只需要執行

export KEY=VALUE

爲當前用戶永久設置

~/.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');

還有超全局變量方式:

$env = $_SERVER['RUNTIME_ENVIROMENT'];
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章