摘要:需求在開發中為了區分線上生產環境還是本地開發環境,如果我們能通過判斷為還是來區分該多好,可惜的是數組里面根本沒有這個元素。不過據說配置信息通過的來設置的話,當和交互時,會帶來大量的數據傳輸。設置環境變量變量名變量值參考文檔
需求
在PHP開發中為了區分線上生產環境還是本地開發環境, 如果我們能通過判斷$_SERVER["RUNTIME_ENVIROMENT"]為 "DEV"還是"PRO"來區分該多好, 可惜的是$_SERVER數組里面根本沒有RUNTIME_ENVIROMENT這個元素。一、通過nginx的fastcgi_param來設置
在nginx配置文件中,可以在nginx總體的配置文件nginx.conf中,也可以在多帶帶的網站配置環境中進行設置,如:www.tomener.com.conf
在配置環境server段location中添加相應的配置信息:
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"一個值,更多可以添加在后面
然后重啟重啟nginx
nginx -s reload二、通過php主配置文件php-fpm.conf來設置
這個設置必須放在主配置文件php-fpm.conf里,不能放到include指令設置的子配置文件里,否則會報錯:「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來獲取相應的變量值了。
不過據說配置信息通過nginx的fastcgi_param來設置的話,當nginx和php交互時,會帶來大量的數據傳輸。
Apache設置環境變量SetEnv 變量名 變量值
ServerAdmin webmaster@demo.com 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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21450.html
摘要:需求在開發中為了區分線上生產環境還是本地開發環境,如果我們能通過判斷為還是來區分該多好,可惜的是數組里面根本沒有這個元素。不過據說配置信息通過的來設置的話,當和交互時,會帶來大量的數據傳輸。設置環境變量變量名變量值參考文檔 需求 在PHP開發中為了區分線上生產環境還是本地開發環境, 如果我們能通過判斷$_SERVER[RUNTIME_ENVIROMENT]為 DEV還是PRO來區分該多...
摘要:原文地址通過加載環境變量并且能夠自動的通過和自動調用這是一個版本為什么是你不能在代碼中存儲任何的敏感賬號數據存儲在環境中存儲配置是的一項規則在部署中可能變化的所有的內容諸如數據庫認證或者第三方服務的認證應該從代碼中剝離出來也就是環境變量的 原文地址:PHP dotenv 通過 .env 加載環境變量并且能夠自動的通過 getenv(), $_ENV 和 $_SERVER 自動調用. 這...
摘要:是通用網管協議,用于讓交互程序和服務器通信的協議。的超全局變量是一個包含了諸如頭信息路徑以及腳本位置等等信息的數組。常量包含當前例如包含文件的完整路徑和文件名。包含當前腳本的路徑。這就是整個關于解析請求信息的流程。 最近升級PHP到PHP7版本,并重新部署了新的Nginx,啟動的時候發現了一個問題,全局變量$_SERVER[PHP_SELF]的值發生了改變,從而影響到代碼的功能。因此我...
閱讀 2484·2023-04-25 19:24
閱讀 1700·2021-11-11 16:54
閱讀 2833·2021-11-08 13:19
閱讀 3547·2021-10-25 09:45
閱讀 2552·2021-09-13 10:24
閱讀 3276·2021-09-07 10:15
閱讀 4014·2021-09-07 10:14
閱讀 2950·2019-08-30 15:56