PHP服务器配置环境变量
我们写的PHP应用程序,通常会分别在本地、开发、测试、RC、生产环境中运行,不同环境中全局变量各不相同。通常简单的部署做法是,每次部署到一个环境,都需要先修改对应的全局变量,然后再部署代码。如果部署频率很高,则这种部署方案比较耗费人力,同时也会增加生产环境的部署风险。
如果将各种环境的差异配置在服务器中,PHP应用程序读取当前环境下的变量,则大大降低了应用程序部署的成本与风险。
修改配置文件conf/fastcgi.conf,添加配置如:fastcgi_param MAIN_URL 'www.hicoor.com';
然后重启nginx(命令:sbin/nginx -s reload),即可在PHP应用程序中通过$_SERVER['MAIN_URL']方式来获取环境配置值。但这种配置方式会在php和nginx的大量请求中都带上这些配置,会显著增加系统开销,因此一般不建议这种配置方式。
修改php-fpm配置文件php-fpm.conf(位置如:/usr/local/php/etc/php-fpm.conf),添加配置如:env[MAIN_URL] = www.hicoor.com
然后重启php-fpm,关闭命令:ps -aux | grep php-fpm | awk '{print $2}' | xargs kill -9,或:killall nginx,启动命令:/usr/local/php/sbin/php-fpm
重启后即可在PHP中通过$_SERVER['MAIN_URL']方式来获取环境配置值,这种配置方式比较建议使用。
修改配置文件conf/extra/httpd-vhosts.conf,在对应应用配置下新增环境变量配置,如:
<VirtualHost *:80>
ServerAdmin webmaster@hduhans.xicp.net
DocumentRoot "D:/wamp/www"
ServerName hduhans.xicp.net
ErrorLog "logs/dummy-host2.example.com-error.log"
SetEnv MAIN_URL www.hicoor.com
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
其中SetEnv所在行为新增配置,然后重启apache服务器即完成配置。
PHP服务器配置环境变量的更多相关文章
- JAVA环境变量和TomCat服务器配置
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样 ...
- tomcat配置及使用 环境变量设置
Tomcat的配置及测试: 第一步:下载tomcat,然后解压到任意盘符 第二步:配置系统环境变量 我这里是tomcat5.5,解压到的D盘 (路径为: D:\Program Files\tomcat ...
- Web开发之tomcat配置及使用(环境变量设置及测试,一个简单的web应用实例)
Tomcat的配置及测试: 第一步:下载tomcat,然后解压到任意盘符 第二步:配置系统环境变量 tomcat解压到的D盘 (路径为: D:\tomcat), 配置环境变量: 启动tomcat需要两 ...
- Windows中 RabbitMQ安装与环境变量配置
RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议.1:安装RabbitMQ需要先安装Erlang语言开发包.下载地址 ht ...
- linux配置jdk环境变量
首先在Linux解压后缀为.tar.gz的jdk压缩文件 解压到当前的文件夹 tar -zcvf /root/java/jdk版本编号 指令: cd 目录路径 -> 是进入该目录路径 c ...
- Liunx将私密代理添加到环境变量
.bash_profile文件存在于用户主目录下,绝对路径为/home/$name/.bash_profile.bash_profile文件是隐藏文件,里面包含的是用户的用户的环境变量. 注意: 这个 ...
- MySQL安装步骤及环境变量配置
MySQL安装 MySQL下载地址:http://dev.mysql.com/downloads/installer/1:首先进入的是安装引导界面2:然后进入的是类型选择界面,这里有3个类型:Typi ...
- 关于mysql installer 的安装和环境变量配置
MySQL针对不同的用户提供了2中不同的版本: MySQL Community Server:社区版.由MySQL开源社区开发者和爱好者提供技术支持,对开发者开放源代码并提供免费下载. MySQL E ...
- Windows中配置maven环境变量
添加maven环境变量 添加新的系统环境变量:MAVEN_HOME 设置其值为你安装的目录:D:\IT_program\apache-maven-3.6.0 更新系统PATH 变量 添加变量值:%MA ...
随机推荐
- SubSonic指南中文版
翻译:王鹏程张原 王伟策划:毛凌志2009年1月北京工业大学软件学院PS:有问题反馈至http://lexus.cnblogs.comGetting Started with SubSonicBy S ...
- Python入门练习
0.基本知识 Number.String.Lists 1.if判断的使用
- 2016中国大学生程序设计竞赛 - 网络选拔赛 C. Magic boy Bi Luo with his excited tree
Magic boy Bi Luo with his excited tree Problem Description Bi Luo is a magic boy, he also has a migi ...
- DOTA 2 API(个人资料)
获取个人资料 http://wiki.teamfortress.com/wiki/WebAPI/GetPlayerSummaries 获取个人库存 http://wiki.teamfortress.c ...
- 【BZOJ】3991: [SDOI2015]寻宝游戏
题意 给一个\(n\)个点带边权的树.有\(m\)次操作,每一次操作一个点\(x\),如果\(x\)已经出现,则\(x\)消失.否则\(x\)出现.每一操作后,询问从某个点开始走,直到经过所有出现的点 ...
- css样式表分类、选择器分类、css基础样式
1 . 样式表 Cascading Style Sheet css优势: 内容与表现分离 网页的表现统一,容易修改 丰富的样式,使网页布局更加灵活 减少网页代码量,增加网页的浏览速度,节省 ...
- Jquery_类选择器笔记
$("[id^=percent]").size() ^=:表示以什么开头 $=:表示以什么结尾 ~=:表示包含什么 id:表示按id选择
- Hibernate学习笔记3
---恢复内容开始--- 一.hibernate如何转化jdbc代码实例[通过hibernate构建jdbc后往数据库传对象] import java.sql.Connection;import ja ...
- ListView使用item显示不同布局
/** * 自定义城市列表适配器 */ private class MyCityListAdapter extends BaseAdapter { final int VIEW_TYPE = 2; f ...
- iOS tableview删除多余的空cell
self.tableview.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; 加一句这个,然后给tableview一个背景色, ...