환경 변수를 설정 한 후에는 종종 프로그램에서 읽어야합니다. 사용 방법에는 다음과 같은 두 가지가 있습니다.
getenv () 를 통해 얻습니다.
<span><span><span class="hljs-title function_ invoke__">putenv</span></span><span>(</span><span><span class="hljs-string">"APP_DEBUG=true"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">"APP_DEBUG"</span></span><span>); </span><span><span class="hljs-comment">// 산출: true</span></span><span>
</span></span>
$ _env hyperglobal 변수를 통과합니다
특정 구성 ( php.ini 의 변수 _order 설정에 따라)에서 Putenv 가 설정 한 값은 $ _env 와 동기화됩니다.
<span><span><span class="hljs-title function_ invoke__">putenv</span></span><span>(</span><span><span class="hljs-string">"API_KEY=123456"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$_ENV</span></span><span>[</span><span><span class="hljs-string">"API_KEY"</span></span><span>]; </span><span><span class="hljs-comment">// 활성화 된 경우,산출: 123456</span></span><span>
</span></span>
다른 서버 환경과 PHP 구성은 $ _env 의 가용성에 영향을 줄 수 있으므로 호환성을 보장하기 위해 getenv ()를 사용하는 것이 좋습니다.
운영 환경을 구별합니다
<span><span><span class="hljs-title function_ invoke__">putenv</span></span><span>(</span><span><span class="hljs-string">"APP_ENV=development"</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">"APP_ENV"</span></span><span>) === </span><span><span class="hljs-string">"development"</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">error_reporting</span></span><span>(E_ALL);
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">"display_errors"</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">"display_errors"</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>);
}
</span></span>
데이터베이스 구성 관리
<span><span><span class="hljs-title function_ invoke__">putenv</span></span><span>(</span><span><span class="hljs-string">"DB_HOST=127.0.0.1"</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">putenv</span></span><span>(</span><span><span class="hljs-string">"DB_USER=root"</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">putenv</span></span><span>(</span><span><span class="hljs-string">"DB_PASS=secret"</span></span><span>);
</span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(
</span><span><span class="hljs-string">"mysql:host="</span></span><span> . </span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">"DB_HOST"</span></span><span>),
</span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">"DB_USER"</span></span><span>),
</span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">"DB_PASS"</span></span><span>)
);
</span></span>
민감한 정보 보호 <br> 코드의 하드 코드를 피하고 보안을 향상시키기 위해 환경 변수에 API 키, 타사 서비스 토큰 등을 저장하십시오.
행동 범위
PUTENV 가 설정 한 환경 변수는 현재 PHP 프로세스에만 유효하며 시스템 환경으로 유지되지 않습니다.
서버가 다시 시작된 후 환경 변수를 유효하게 유지하려면 운영 체제 구성 파일 (예 : .Bashrc 또는 .env 파일)을 통해 설정해야합니다.
호환성
성능은 CLI 모드와 웹 모드에서 일관되지만 일부 관리 환경은 PUTENV 에 제한이있을 수 있습니다.
권장 관행
.env 파일 + PHP 로더 (예 : Vlucas/phpdotenv 라이브러리)를 사용하여 환경 변수를 균일하게 관리합니다.
하드 코딩을 피하고 코드에서 getEnv를 통해서만 변수를 가져옵니다.