每次本地環境 測試環境 生產環境的配置檔案都是不一樣的 如果根據各個不同的環境載入不同的配置引數呢?
想到乙個方法:
設定伺服器的$_server變數
$config = [
'product'=>[//生產環境配置
'db_host'=>'x.x.x.x',
'db_user'=>'root',
...],
'test'=>[//測試環境配置
'db_host'=>'y.y.y.y',
'db_user'=>'root',
...],
'local'=>[//本地環境配置
'db_host'=>'z.z.z.z',
'db_user'=>'root',
...],
];$env = $_server['now_server_env'];
return $config[$env];
環境變數now_server_env是需要通過我們自己去定義的
apache
setenv now_server_env 'test' #放在外面 則所有站點都可以獲取
setenv now_server_env 'test' #放在裡面 只有對應的站點可以獲取
documentroot "d:\phpstudy\phptutorial\www\a.com"
servername a.cn
options followsymlinks execcgi
allowoverride all
order allow,deny
allow from all
require all granted
nginx
server
location ~ \.php(.*)$
}
這樣無論是哪個環境程式**都會自動匹配到正確的配置引數了 伺服器變數 SERVER 詳解
1 server php self 獲取當前正在執行指令碼的檔名 2 server server protocol 請求頁面時通訊協議的名稱和版本。例如,http 1.0 3 server request time 請求開始時的時間戳。從 php 5.1.0 起有效。和time函式效果一樣。4 se...
PHP伺服器變數 SERVER詳解
伺服器變數 server 詳解 1 session php self 獲取當前正在執行指令碼的檔名 2 server server protocol 請求頁面時通訊協議的名稱和版本。例如,http 1.0 3 server request time 請求開始時的時間戳。從 php 5.1.0 起有效...
PHP伺服器變數 SERVER詳解
伺服器變數 server 詳解 1 session php self 獲取當前正在執行指令碼的檔名 2 server server protocol 請求頁面時通訊協議的名稱和版本。例如,http 1.0 3 server request time 請求開始時的時間戳。從 php 5.1.0 起有效...