一、介绍
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"
重启PHP服务
4.查看phpinfo(),或者使用getenv()函数获取变量
如果无法获得,可使用$_ENV
;因为getenv
函数在7版本已经不支持了。
以上就是PHP通过设置系统环境变量来区分测试与正式环境的详细内容,更多请关注创新互联成都网站设计公司其它相关文章!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。