一、介紹
1.PHP中可以通過getenv()
函數和$_ENV
來獲取環境變數
2.環境變數存在系統中,不隨程式碼的提交改變而改變
3.如果公司有測試伺服器和正式伺服器兩台,通過環境變數的方式來區分測試環境和正式環境是一個不錯的辦法
4.安全,不用擔心提交覆蓋
二、設定方法
1.開啟etc/profile
檔案:vim ~/etc/profile
新增一個環境變數export PHP_ENV="test"
,正式伺服器設定為="prod"
這樣通過系統環境變數來做一些不同的操作,或者存在不同的資料庫賬號密碼
設定完後重新載入:source ~/etc/profile
2.修改PHP的php-fpm.conf
檔案,設定PHP環境變數
底部增加:env[PHP_ENV]=$PHP_ENV
重新啟動PHP服務,service php-fpm restart
3.如果getenv('PHP_ENV')無法獲取值?
可能因為php.ini預設不載入$_ENV
變數定義,如果此時檢視phpinfo()
,會發現我們設定的環境變數為"no value"
修改vim /etc/php/php.ini
修改:variables_order:variables_order="EGPCS"
重新啟動PHP服務
4.檢視phpinfo(),或者使用getenv()函數獲取變數
如果無法獲得,可使用$_ENV
;因為getenv
函數在7版本已經不支援了。
以上就是PHP通過設定系統環境變數來區分測試與正式環境的詳細內容,更多請關注TW511.COM其它相關文章!