>  기사  >  백엔드 개발  >  PHP는 시스템 환경 변수를 설정하여 테스트 환경과 공식 환경을 구별합니다.

PHP는 시스템 환경 변수를 설정하여 테스트 환경과 공식 환경을 구별합니다.

藏色散人
藏色散人앞으로
2020-01-31 17:45:062375검색

PHP는 시스템 환경 변수를 설정하여 테스트 환경과 공식 환경을 구별합니다.

1. 소개

1. PHP에서는 getenv() 함수와 $_ENV 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

2를 통해 환경 변수를 얻을 수 있습니다. 환경변수 시스템 내에 존재하며 코드를 제출해도 변하지 않습니다

3. 회사에 테스트 서버와 정식 서버가 있는 경우 환경 변수를 통해 테스트 환경과 정식 환경을 구분하는 것이 좋습니다

4. 안전합니다. 제출 범위 걱정이 없습니다🎜🎜🎜 2. 설정 방법🎜🎜🎜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()를 확인하면 우리가 설정한 환경 변수는 "값 없음"입니다. "🎜🎜Modify vim /etc/php/php.ini🎜🎜Modify: variables_order:variables_order="EGPCS"🎜🎜Restart PHP 서비스🎜🎜🎜4. phpinfo()를 보거나 getenv() 함수를 사용하여 변수 🎜🎜🎜를 얻을 수 없으면 $_ENV를 사용할 수 있습니다. >getenv 기능은 버전 7에서 더 이상 지원되지 않습니다. 🎜🎜더 많은 PHP 관련 지식을 보려면 🎜php 튜토리얼🎜을 방문하세요! 🎜

위 내용은 PHP는 시스템 환경 변수를 설정하여 테스트 환경과 공식 환경을 구별합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 oschina.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제