현재 위치: > 최신 기사 목록> [PHP의 PUTENV 기능을 사용하여 환경 변수를 올바르게 설정하고 관리하는 방법은 무엇입니까? 단계에 대한 자세한 설명]

[PHP의 PUTENV 기능을 사용하여 환경 변수를 올바르게 설정하고 관리하는 방법은 무엇입니까? 단계에 대한 자세한 설명]

gitbox 2025-09-03

2. GetEnv 및 $ _env와 함께 사용하십시오

환경 변수를 설정 한 후에는 종종 프로그램에서 읽어야합니다. 사용 방법에는 다음과 같은 두 가지가 있습니다.

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


3. 웹 응용 프로그램의 응용 시나리오

  1. 운영 환경을 구별합니다

     <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>
  2. 데이터베이스 구성 관리

     <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>
  3. 민감한 정보 보호 <br> 코드의 하드 코드를 피하고 보안을 향상시키기 위해 환경 변수에 API 키, 타사 서비스 토큰 등을 저장하십시오.


4. 예방 조치 및 모범 사례

  1. 행동 범위

    • PUTENV 가 설정 한 환경 변수는 현재 PHP 프로세스에만 유효하며 시스템 환경으로 유지되지 않습니다.

    • 서버가 다시 시작된 후 환경 변수를 유효하게 유지하려면 운영 체제 구성 파일 (예 : .Bashrc 또는 .env 파일)을 통해 설정해야합니다.

  2. 호환성

    • 성능은 CLI 모드와 웹 모드에서 일관되지만 일부 관리 환경은 PUTENV 에 제한이있을 수 있습니다.

  3. 권장 관행

    • .env 파일 + PHP 로더 (예 : Vlucas/phpdotenv 라이브러리)를 사용하여 환경 변수를 균일하게 관리합니다.

    • 하드 코딩을 피하고 코드에서 getEnv를 통해서만 변수를 가져옵니다.