환경 변수를 설정하는 일반적인 장소는 개발 환경/프로덕션 환경을 구분하거나 일부 데이터베이스 계정 비밀번호를 정의하는 것입니다
Apache 환경 변수 설정
명령
설정 현재 환경 변수는 DEV
SetEnv RUNTIME_ENVIROMENT DEV
데이터베이스 계정 비밀번호
SetEnv MYSQL_USERNAME 루트
SetEnv MYSQL_PASSWORD 루트
구성 파일 형식
ServerAdmin admin@admin.com
DocumentRoot "/var/www/"
ServerName localhost
SetEnv RUNTIME_ENVIROMENT DEV
SetEnv MYSQL_USERNAME 루트
SetEnv MYSQL_PASSWORD 루트
ErrorLog "logs/error.log"
CustomLog "logs/access.log" 공통
< ;/VirtualHost>
Nginx 환경 변수 설정
명령
현재 환경 변수를 DEV로 설정
fastcgi_param RUNTIME_ENVIROMENT 'DEV'
데이터베이스 계정 비밀번호
fastcgi_param MYSQL_USERNAME 'root'
fastcgi_param MYSQL_PASSWORD '루트'
구성 파일 형식
fastcgi_params 파일에서 구성
fastcgi_param RUNTIME_ENVIROMENT ' DEV';
fastcgi_param MYSQL_USERNAME 'root';
fastcgi_param MYSQL_PASSWORD 'root';
nginx.conf에서 구성
server { listen 80; root /var/www; index index.php; server_name localhost; location / { index index.php; } location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }
PHP 스크립트에 대한 환경 변수 설정
현재 사용자에 대해 임시 설정
임시 설정은 다음 사항만 필요합니다. 실행
export KEY=VALUE
현재 사용자에 대해 영구적으로 설정
~ /.bashrc (시스템마다 다름(다름),
을 작성하여 모든 사용자(루트 제외)에 대해
을 설정합니다. /etc/profile.d/test.sh 파일을 작성하고
KEY=VALUE
모든 사용자(루트 포함)에 대해
을 설정하고
KEY=VALUE
이 파일의 유효 시간은 사용자가 로그인할 때입니다. , 루트의 경우 컴퓨터를 다시 시작해야 합니다
Supervisor에서 설정
때때로 PHP 스크립트가 Supervisor에 의해 제어되므로 감독자 구성에서 환경 항목을 설정하는 것을 잊지 마세요
PHP에서 서버 환경 변수 호출
PHP에는 두 가지 호출 방법이 있습니다:
$env = getenv('RUNTIME_ENVIROMENT');
수퍼 전역 변수 방법도 있습니다:
$env = $_SERVER['RUNTIME_ENVIROMENT'];