一、介绍
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相关知识,请访问php教程!
以上是PHP通过设置系统环境变量来区分测试与正式环境的详细内容。更多信息请关注PHP中文网其他相关文章!