一、介紹
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"
4.查看phpinfo(),或使用getenv()函數取得變數
如果無法取得,可使用$ _ENV;因為
getenv函數在7版已經不支援了。
php教學!
以上是PHP透過設定係統環境變數來區分測試與正式環境的詳細內容。更多資訊請關注PHP中文網其他相關文章!