현재 위치: > 최신 기사 목록> ini_get_all 및 ini_set과 함께 PHP 구성을 변경하는 방법은 무엇입니까?

ini_get_all 및 ini_set과 함께 PHP 구성을 변경하는 방법은 무엇입니까?

gitbox 2025-07-26

PHP에서 INI_GET_ALLINI_SET는 PHP 구성을 읽고 수정하는 데 매우 유용한 두 가지 기능입니다. 이 두 가지 기능을 사용하여 PHP 구성을 조작하는 방법을 이해하는 것은 효율적이고 유연한 애플리케이션을 개발하는 데 중요합니다.

1. ini_get_all 함수 소개

INI_GET_ALL 기능은 모든 현재 PHP 구성 항목 및 해당 값을 얻는 데 사용됩니다. 이름이 포함 된 연관 배열, 모든 구성 항목의 값 및 런타임에 변경 될 수 있는지 여부를 식별합니다.

사용의 예 :

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 모든 것을 얻으십시오 PHP 구성 항목</span></span><span>
</span><span><span class="hljs-variable">$config</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ini_get_all</span></span><span>();

</span><span><span class="hljs-comment">// 输出구성 항목</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$config</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ini_get_all ()에 의해 반환 된 배열에는 일반적으로 다음 정보가 포함됩니다.

  • 구성 항목의 이름 (키)

  • 구성 항목 (값)의 현재 값

  • 런타임 (local_value)에서 구성 항목을 변경할 수 있는지 여부

  • 구성 항목이 php.ini 파일 (Global_value)에서만 수정할 수 있는지 여부

이 기능은 특히 현재 PHP 환경의 구성을보기에 적합하여 개발자가 현재 실행 환경에 어떤 구성 항목을 이해하도록 도와줍니다.

2. INI_SET 기능 소개

INI_SET 함수를 사용하면 PHP 스크립트가 실행될 때 구성 항목의 값을 수정할 수 있습니다. 이는 런타임에 동적으로 조정 해야하는 일부 설정에 유용합니다.

사용의 예 :

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 개정하다 PHP 구성 항목</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-string">'1'</span></span><span>);  </span><span><span class="hljs-comment">// 표시 오류 메시지를 표시합니다</span></span><span>

</span><span><span class="hljs-comment">// 메모리 제한을 설정합니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'memory_limit'</span></span><span>, </span><span><span class="hljs-string">'256M'</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

INI_SET는 PHP 구성에서 런타임에 수정할 수있는 옵션 만 수정할 수 있습니다 (즉, PHP.ini 파일의 PHP_INI_ALL 또는 PHP_INI_USER 로 표시된 항목). 런타임 (예 : max_execution_time )에서 변경할 수없는 일부 옵션을 수정하려고하면 ini_set이 False를 반환하여 설정이 실패했음을 나타냅니다.

3. ini_get_allini_set을 조합하여 사용하는 방법은 무엇입니까?

이 두 기능을 함께 사용하여 개발자는 다음 작업을 구현할 수 있습니다.

  • 현재 구성보기 : ini_get_all을 통해 모든 구성 항목의 현재 값을 가져옵니다.

  • 동적 구성 수정 : INI_SET를 통해 런타임시 구성 항목을 수정하여 응용 프로그램 동작을 조정하십시오.

  • 디버깅 및 최적화 : 개발 및 디버깅 프로세스 중에 일부 구성 항목을 일시적으로 조정하여 문제를 더 잘 진단하고 해결할 수 있습니다.

사용의 예 : 디버깅 환경에서의 구성 수정

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 获取当前구성 항목</span></span><span>
</span><span><span class="hljs-variable">$config</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ini_get_all</span></span><span>();

</span><span><span class="hljs-comment">// 현재 오류 표시 구성을 출력합니다</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'Current display_errors: '</span></span><span> . </span><span><span class="hljs-variable">$config</span></span><span>[</span><span><span class="hljs-string">'display_errors'</span></span><span>][</span><span><span class="hljs-string">'local_value'</span></span><span>] . </span><span><span class="hljs-string">"\n"</span></span><span>;

</span><span><span class="hljs-comment">// 일시적으로 오류 표시를 활성화합니다</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-string">'1'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'display_errors set to: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">ini_get</span></span><span>(</span><span><span class="hljs-string">'display_errors'</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;

</span><span><span class="hljs-comment">// 현재 메모리 제한을 출력합니다</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'Current memory_limit: '</span></span><span> . </span><span><span class="hljs-variable">$config</span></span><span>[</span><span><span class="hljs-string">'memory_limit'</span></span><span>][</span><span><span class="hljs-string">'local_value'</span></span><span>] . </span><span><span class="hljs-string">"\n"</span></span><span>;

</span><span><span class="hljs-comment">// 개정하다内存限制</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'memory_limit'</span></span><span>, </span><span><span class="hljs-string">'512M'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'memory_limit set to: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">ini_get</span></span><span>(</span><span><span class="hljs-string">'memory_limit'</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ini_get_all을 사용하면 먼저 현재 구성 항목을 얻고 출력을 인쇄합니다. 그런 다음 ini_set을 사용하여 display_errorsmemory_limit을 수정하고 수정이 성공했는지 다시 확인했습니다. 이 접근법은 개발 및 생산 환경의 임시 조정에 이상적입니다.

4. 주목할만한 것들

INI_SET은 강력한 유연성을 제공하지만 런타임에 모든 구성 항목을 수정할 수있는 것은 아닙니다. 특히 생산 환경에서 일부 구성 항목 (예 : Max_Execution_time , Upload_Max_Filesize 와 같은)은 일반적으로 제한됩니다. 이러한 구성 항목을 수정하려고하면 PHP가 False를 반환하고 적용되지 않습니다.

또한 구성 항목을 수정하면 전체 스크립트의 동작에 영향을 줄 수 있습니다. 특히 여러 스레드 또는 동시 요청이 높은 경우 구성이 자주 수정되면 결과가 일치하지 않을 수 있습니다. 따라서 수정 된 구성이 응용 프로그램의 안정성에 영향을 미치지 않도록 이러한 기능을 사용할 때는 추가주의가 필요합니다.

5. 요약

INI_GET_ALLINI_SET 함수를 결합하면 PHP 구성을 쉽게보고 수정할 수 있습니다. 이 도구는 개발자에게 런타임, 특히 개발, 디버깅 또는 최적화 중에 애플리케이션 동작을 유연하게 조정할 수있는 기능을 제공합니다. 그러나 런타임에서 변경할 수없는 구성 항목이 수정되지 않도록 잠재적 오류 나 불안정성을 피하기 위해 사용 제한을 이해해야합니다.