PHP의 환경 변수: SetEnv, $_ENV 및 $_SERVER 이해
Apache에서 환경 변수 FOO는 SetEnv를 사용하여 설정됩니다. .htaccess 파일의 지시어. 그러나 PHP는 이 변수를 $_ENV 또는 $_SERVER에 표시할 수 있습니다. 왜 이런 일이 발생하며, $_SERVER에 복잡한 항목이 생기는 원인은 무엇입니까?
빈 $_ENV 변수
기본적으로 PHP의 $_ENV 변수는 Variable_order 지시어가 지정되지 않는 한 비어 있습니다. php.ini에는 E가 포함되어 있습니다. 이는 성능 문제로 인해 프로덕션 환경에서는 일반적으로 활성화되지 않습니다. 이 문제를 해결하려면 $_ENV에 액세스할 수 있도록 Variable_order를 EGPCS로 설정합니다.
$_SERVER의 SetEnv
.htaccess에서 SetEnv를 사용할 때 혼란이 발생합니다. $_ENV가 아닌 $_SERVER의 변수입니다. 이 동작은 직관적이지 않으며 오해를 일으킬 수 있습니다.
$_SERVER의 항목
SetEnv로 인해 $_SERVER에 [REDIRECT_FOO] 및 [FOO와 같은 중복 항목이 발생할 수 있습니다. ]. 이는 SetEnv가 일반 환경 변수(FOO)와 리디렉션 별칭(REDIRECT_FOO`)을 생성하기 때문에 발생합니다.
getenv 함수 대체
getenv 함수는 항상 검색에 사용할 수 있습니다. $_ENV에 대한 PHP 설정과 관계없이 환경 변수. $_ENV에 문제가 발생하면 getenv를 사용하는 것이 좋습니다.
추가 참고 사항
위 내용은 PHP의 $_ENV 및 $_SERVER 모두에서 SetEnv 변수에 액세스할 수 있는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!