PHP服務器配置環境變量


  我們寫的PHP應用程序,通常會分別在本地、開發、測試、RC、生產環境中運行,不同環境中全局變量各不相同。通常簡單的部署做法是,每次部署到一個環境,都需要先修改對應的全局變量,然后再部署代碼。如果部署頻率很高,則這種部署方案比較耗費人力,同時也會增加生產環境的部署風險。

  如果將各種環境的差異配置在服務器中,PHP應用程序讀取當前環境下的變量,則大大降低了應用程序部署的成本與風險。

一、配置nginx的環境變量

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

  然后重啟nginx(命令:sbin/nginx -s reload),即可在PHP應用程序中通過$_SERVER['MAIN_URL']方式來獲取環境配置值。但這種配置方式會在php和nginx的大量請求中都帶上這些配置,會顯著增加系統開銷,因此一般不建議這種配置方式

二、配置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-fpm

  重啟后即可在PHP中通過$_SERVER['MAIN_URL']方式來獲取環境配置值,這種配置方式比較建議使用。

三、配置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服務器即完成配置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM