PHP通過設定系統環境變數來區分測試與正式環境

2020-07-16 10:06:11

一、介紹

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其它相關文章!