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
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!