摘要:需求在開發(fā)中為了區(qū)分線上生產(chǎn)環(huán)境還是本地開發(fā)環(huán)境,如果我們能通過判斷為還是來區(qū)分該多好,可惜的是數(shù)組里面根本沒有這個(gè)元素。不過據(jù)說配置信息通過的來設(shè)置的話,當(dāng)和交互時(shí),會帶來大量的數(shù)據(jù)傳輸。設(shè)置環(huán)境變量變量名變量值參考文檔
需求
在PHP開發(fā)中為了區(qū)分線上生產(chǎn)環(huán)境還是本地開發(fā)環(huán)境, 如果我們能通過判斷$_SERVER["RUNTIME_ENVIROMENT"]為 "DEV"還是"PRO"來區(qū)分該多好, 可惜的是$_SERVER數(shù)組里面根本沒有RUNTIME_ENVIROMENT這個(gè)元素。一、通過nginx的fastcgi_param來設(shè)置
在nginx配置文件中,可以在nginx總體的配置文件nginx.conf中,也可以在多帶帶的網(wǎng)站配置環(huán)境中進(jìn)行設(shè)置,如:www.tomener.com.conf
在配置環(huán)境server段location中添加相應(yīng)的配置信息:
location ~ .php($|/) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param RUNTIME_ENVIROMENT "PRO"; # PRO or DEV }
這里只添加了fastcgi_param RUNTIME_ENVIROMENT "PRO"一個(gè)值,更多可以添加在后面
然后重啟重啟nginx
nginx -s reload二、通過php主配置文件php-fpm.conf來設(shè)置
這個(gè)設(shè)置必須放在主配置文件php-fpm.conf里,不能放到include指令設(shè)置的子配置文件里,否則會報(bào)錯(cuò):「Array are not allowed in the global section」
我的php-fpm.conf位置在/usr/local/php/etc/php-fpm.conf
直接在配置文件中添加:
env[RUNTIME_ENVIROMENT] = "PRO"
添加后重啟php-fpm
service restart php-fpm
通過上面2種方式添加$_SERVER變量值后,我們就可以直接在php文件中通過$_SERVER來獲取相應(yīng)的變量值了。
不過據(jù)說配置信息通過nginx的fastcgi_param來設(shè)置的話,當(dāng)nginx和php交互時(shí),會帶來大量的數(shù)據(jù)傳輸。
Apache設(shè)置環(huán)境變量SetEnv 變量名 變量值
ServerAdmin [email protected] DocumentRoot "e:wwwrootdemo" ServerName my.demo.com ErrorLog "logs/my.demo.com-error.log" CustomLog "logs/my.demo.com-access.log" common SetEnv RUNTIME_ENVIROMENT DEV Options Indexes FollowSymLinks AllowOverride All Require all granted
參考文檔:
http://man.chinaunix.net/newsoft/ApacheManual/mod/mod_env.html#setenv
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/21450.html
摘要:需求在開發(fā)中為了區(qū)分線上生產(chǎn)環(huán)境還是本地開發(fā)環(huán)境,如果我們能通過判斷為還是來區(qū)分該多好,可惜的是數(shù)組里面根本沒有這個(gè)元素。不過據(jù)說配置信息通過的來設(shè)置的話,當(dāng)和交互時(shí),會帶來大量的數(shù)據(jù)傳輸。設(shè)置環(huán)境變量變量名變量值參考文檔 需求 在PHP開發(fā)中為了區(qū)分線上生產(chǎn)環(huán)境還是本地開發(fā)環(huán)境, 如果我們能通過判斷$_SERVER[RUNTIME_ENVIROMENT]為 DEV還是PRO來區(qū)分該多...
摘要:原文地址通過加載環(huán)境變量并且能夠自動的通過和自動調(diào)用這是一個(gè)版本為什么是你不能在代碼中存儲任何的敏感賬號數(shù)據(jù)存儲在環(huán)境中存儲配置是的一項(xiàng)規(guī)則在部署中可能變化的所有的內(nèi)容諸如數(shù)據(jù)庫認(rèn)證或者第三方服務(wù)的認(rèn)證應(yīng)該從代碼中剝離出來也就是環(huán)境變量的 原文地址:PHP dotenv 通過 .env 加載環(huán)境變量并且能夠自動的通過 getenv(), $_ENV 和 $_SERVER 自動調(diào)用. 這...
摘要:是通用網(wǎng)管協(xié)議,用于讓交互程序和服務(wù)器通信的協(xié)議。的超全局變量是一個(gè)包含了諸如頭信息路徑以及腳本位置等等信息的數(shù)組。常量包含當(dāng)前例如包含文件的完整路徑和文件名。包含當(dāng)前腳本的路徑。這就是整個(gè)關(guān)于解析請求信息的流程。 最近升級PHP到PHP7版本,并重新部署了新的Nginx,啟動的時(shí)候發(fā)現(xiàn)了一個(gè)問題,全局變量$_SERVER[PHP_SELF]的值發(fā)生了改變,從而影響到代碼的功能。因此我...
閱讀 2497·2023-04-25 19:24
閱讀 1716·2021-11-11 16:54
閱讀 2842·2021-11-08 13:19
閱讀 3556·2021-10-25 09:45
閱讀 2563·2021-09-13 10:24
閱讀 3293·2021-09-07 10:15
閱讀 4046·2021-09-07 10:14
閱讀 2962·2019-08-30 15:56