PHP經過設置系統環境變量來區分測試環境和正式環境

一,介紹

1.PHP中能夠經過getenv()函數和$_ENV來獲取環境變量php

2.環境變量存在系統中,不隨代碼的提交改變而改變數據庫

3.若是公司有測試服務器和正式服務器兩臺,經過環境變量的方式來區分測試環境和正式環境是一個不錯的辦法vim

4.安全,不用擔憂提交覆蓋安全

2、設置方法

1.打開etc/profile文件:vim ~/etc/profile服務器

新增一個環境變量export PHP_ENV="test",正式服務器設置爲="prod"函數

這樣經過系統環境變量來作一些不一樣的操做,或者存在不一樣的數據庫帳號密碼php-fpm

設置完後從新加載:source ~/etc/profile測試

2.修改PHP的php-fpm.conf文件,設置PHP環境變量spa

底部增長:env[PHP_ENV]=$PHP_ENVrest

重啓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版本已經不支持了。

相關文章
相關標籤/搜索