Aktueller Standort: Startseite> Neueste Artikel> Wie ändere ich die PHP -Konfiguration in Kombination mit Ini_get_all und Ini_Set?

Wie ändere ich die PHP -Konfiguration in Kombination mit Ini_get_all und Ini_Set?

gitbox 2025-07-26

In PHP sind ini_get_all und ini_set zwei sehr nützliche Funktionen zum Lesen und Ändern der PHP -Konfiguration. Das Verständnis, wie diese beiden Funktionen verwendet werden, um die PHP -Konfiguration zu manipulieren, ist entscheidend für die Entwicklung effizienter und flexibler Anwendungen.

1. Einführung in die Funktion ini_get_all

Die Funktion ini_get_all wird verwendet, um alle aktuellen PHP -Konfigurationselemente und deren Werte zu erhalten. Es gibt ein assoziatives Array zurück, das die Namen, die Werte aller Konfigurationselemente und die Identifizierung, ob sie zur Laufzeit geändert werden können, enthält.

Beispiel der Nutzung:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Holen Sie sich alles PHP Konfigurationselemente</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">// 输出Konfigurationselemente</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>

Das von ini_get_all () zurückgegebene Array enthält normalerweise die folgenden Informationen:

  • Der Name des Konfigurationselements (Schlüssel)

  • Der aktuelle Wert des Konfigurationselements (Wert)

  • Ob das Konfigurationselement zur Laufzeit geändert werden kann (local_value)

  • Ob die Konfigurationselemente nur in der Datei php.ini (Global_Value) geändert werden können.

Diese Funktion eignet sich besonders für die Anzeige der Konfiguration der aktuellen PHP -Umgebung und hilft Entwicklern, zu verstehen, welche Konfigurationselemente die aktuelle Ausführungsumgebung beeinflussen.

2. Einführung in die Funktion Ini_Set

Mit der Funktion INI_SET können Sie den Wert eines Konfigurationselements ändern, wenn das PHP -Skript ausgeführt wird. Dies ist nützlich für einige Einstellungen, die zur Laufzeit dynamisch angepasst werden müssen.

Beispiel der Nutzung:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Überarbeiten PHP Konfigurationselemente</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">// Fehlermeldung anzeigen</span></span><span>

</span><span><span class="hljs-comment">// Setzen Sie Speichergrenzen</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>

Es ist zu beachten, dass INI_SET nur Optionen ändern kann, die zur Laufzeit in der PHP -Konfiguration geändert werden dürfen (d. H. Diese Elemente mit PHP_INI_ALL oder PHP_INI_USER in Php.ini -Dateien gekennzeichnet). Wenn Sie versuchen, einige Optionen zu ändern, die zur Laufzeit nicht geändert werden können (z. B. max_execution_time ), gibt INI_SET False zurück und gibt an, dass die Einstellung fehlgeschlagen ist.

3.. Wie verwendet man ini_get_all und ini_set in Kombination?

Mit diesen beiden Funktionen können Entwickler die folgenden Vorgänge implementieren:

  • Zeigen Sie die aktuelle Konfiguration an : Erhalten Sie die aktuellen Werte aller Konfigurationselemente über Ini_Get_all .

  • Dynamische Konfigurationsänderung : Änderung der Konfigurationselemente zur Laufzeit über Ini_Set, um das Anwendungsverhalten anzupassen.

  • Debugging und Optimierung : Während des Entwicklungs- und Debugging -Prozesses können einige Konfigurationselemente vorübergehend angepasst werden, um Probleme besser zu diagnostizieren und zu lösen.

Beispiel für die Nutzung: Konfigurationsänderung in der Debugging -Umgebung

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 获取当前Konfigurationselemente</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">// Ausgabe der aktuellen Fehleranzeigekonfiguration</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">// Vorübergehend fähige Fehleranzeige</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">// Ausgabe des aktuellen Speichergrenges</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">// Überarbeiten内存限制</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>

Mit Ini_Get_All erhalten wir zuerst das aktuelle Konfigurationselement und drucken die Ausgabe. Verwenden Sie dann ini_set , um Display_errors und memory_limit zu ändern und erneut zu verifizieren, ob die Änderung erfolgreich war. Dieser Ansatz ist ideal für vorübergehende Anpassungen in Entwicklungs- und Produktionsumgebungen.

4.. Dinge zu beachten

Obwohl INI_SET eine leistungsstarke Flexibilität bietet, können nicht alle Konfigurationselemente zur Laufzeit geändert werden. Insbesondere in Produktionsumgebungen sind einige Konfigurationselemente (z. B. max_execution_time , upload_max_filesize ) in der Regel begrenzt. Wenn Sie versuchen, diese Konfigurationselemente zu ändern, gibt PHP FALSE zurück und wird nicht wirksam.

Darüber hinaus kann das Ändern von Konfigurationselementen das Verhalten des gesamten Skripts beeinflussen, insbesondere in Fällen, in denen mehrere Threads oder gleichzeitige Anforderungen eine hohe und häufige Änderung der Konfiguration zu inkonsistenten Ergebnissen führen können. Daher ist eine zusätzliche Vorsicht erforderlich, wenn diese Funktionen verwendet werden, um sicherzustellen, dass die geänderte Konfiguration die Stabilität der Anwendung nicht beeinflusst.

5. Zusammenfassung

Wenn Sie die Funktionen ini_get_all und ini_set kombinieren, können Sie die PHP -Konfiguration problemlos anzeigen und ändern. Diese Tools bieten Entwicklern die Möglichkeit, das Anwendungsverhalten zur Laufzeit flexibel anzupassen, insbesondere während der Entwicklung, des Debuggens oder der Optimierung. Es ist jedoch erforderlich, ihre Nutzungsbeschränkungen zu verstehen, um sicherzustellen, dass Konfigurationselemente, die zur Laufzeit nicht geändert werden können, nicht geändert werden, wodurch potenzielle Fehler oder Instabilität vermieden werden.