PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

PHP通过设置系统环境变量来区分测试与正式环境

藏色散人
藏色散人 转载
2020-01-31 17:45:06 2147浏览

一、介绍

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教程

声明:本文转载于:oschina,如有侵犯,请联系admin@php.cn删除