> 백엔드 개발 > PHP 튜토리얼 > PHP의 $_ENV 및 $_SERVER 모두에서 SetEnv 변수에 액세스할 수 있는 이유는 무엇입니까?

PHP의 $_ENV 및 $_SERVER 모두에서 SetEnv 변수에 액세스할 수 있는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-08 07:57:02
원래의
961명이 탐색했습니다.

Why are SetEnv variables accessible in both $_ENV and $_SERVER in PHP?

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를 사용하는 것이 좋습니다.

추가 참고 사항

  • getenv는 환경 변수 이름에서 대소문자를 구분하지 않습니다.
  • variables_order는 $_SERVER 및 $_ENV의 변수 순서에 영향을 미치며, getenv.

위 내용은 PHP의 $_ENV 및 $_SERVER 모두에서 SetEnv 변수에 액세스할 수 있는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿