PHP服務器配置環境變量

  咱們寫的PHP應用程序,一般會分別在本地、開發、測試、RC、生產環境中運行,不一樣環境中全局變量各不相同。一般簡單的部署作法是,每次部署到一個環境,都須要先修改對應的全局變量,而後再部署代碼。若是部署頻率很高,則這種部署方案比較耗費人力,同時也會增長生產環境的部署風險。php

  若是將各類環境的差別配置在服務器中,PHP應用程序讀取當前環境下的變量,則大大下降了應用程序部署的成本與風險。nginx

1、配置nginx的環境變量

  修改配置文件conf/fastcgi.conf,添加配置如:fastcgi_param MAIN_URL 'www.hicoor.com';web

  而後重啓nginx(命令:sbin/nginx -s reload),便可在PHP應用程序中經過$_SERVER['MAIN_URL']方式來獲取環境配置值。但這種配置方式會在php和nginx的大量請求中都帶上這些配置,會顯著增長系統開銷,所以通常不建議這種配置方式apache

2、配置php-fpm的環境變量

  修改php-fpm配置文件php-fpm.conf(位置如:/usr/local/php/etc/php-fpm.conf),添加配置如:env[MAIN_URL] = www.hicoor.com服務器

  而後重啓php-fpm,關閉命令:ps -aux | grep php-fpm | awk '{print $2}' | xargs kill -9,或:killall nginx,啓動命令:/usr/local/php/sbin/php-fpmide

  重啓後便可在PHP中經過$_SERVER['MAIN_URL']方式來獲取環境配置值,這種配置方式比較建議使用。php-fpm

3、配置apache的環境變量

  修改配置文件conf/extra/httpd-vhosts.conf,在對應應用配置下新增環境變量配置,如:測試

<VirtualHost *:80>
    ServerAdmin webmaster@hduhans.xicp.net
    DocumentRoot "D:/wamp/www"
    ServerName hduhans.xicp.net
    ErrorLog "logs/dummy-host2.example.com-error.log"
    SetEnv MAIN_URL www.hicoor.com
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
View Code

   其中SetEnv所在行爲新增配置,而後重啓apache服務器即完成配置。spa

相關文章
相關標籤/搜索