Position actuelle: Accueil> Derniers articles> Comment modifier la configuration PHP en combinaison avec INI_GET_ALL et INI_SET?

Comment modifier la configuration PHP en combinaison avec INI_GET_ALL et INI_SET?

gitbox 2025-07-26

Dans PHP, INI_GET_ALL et INI_SET sont deux fonctions très utiles pour lire et modifier la configuration PHP. Comprendre comment utiliser ces deux fonctions pour manipuler la configuration de PHP est essentiel pour développer des applications efficaces et flexibles.

1. Introduction à la fonction ini_get_all

La fonction INI_GET_ALL est utilisée pour obtenir tous les éléments de configuration PHP actuels et leurs valeurs. Il renvoie un tableau associatif contenant les noms, les valeurs de tous les éléments de configuration et l'identification de la modification de l'exécution.

Exemple d'utilisation:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Faire tout PHP Éléments de configuration</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">// 输出Éléments de configuration</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>

Le tableau renvoyé par ini_get_all () comprend généralement les informations suivantes:

  • Le nom de l'élément de configuration (clé)

  • La valeur actuelle de l'élément de configuration (valeur)

  • Si l'élément de configuration peut être modifié à l'exécution (local_value)

  • Si les éléments de configuration ne peuvent être modifiés que dans le fichier php.ini (global_value)

Cette fonction est particulièrement adaptée à la visualisation de la configuration de l'environnement PHP actuel, aidant les développeurs à comprendre quels éléments de configuration affectent l'environnement d'exécution actuel.

2. Introduction à la fonction ini_set

La fonction INI_SET vous permet de modifier la valeur d'un élément de configuration lorsque le script PHP est en cours d'exécution. Ceci est utile pour certains paramètres qui doivent être ajustés dynamiquement au moment de l'exécution.

Exemple d'utilisation:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Réviser PHP Éléments de configuration</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">// Afficher le message d&#39;erreur</span></span><span>

</span><span><span class="hljs-comment">// Définir les limites de mémoire</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>

Il convient de noter que INI_SET ne peut modifier que des options qui peuvent être modifiées lors de l'exécution dans la configuration PHP (c'est-à-dire ces éléments marqués PHP_INI_ALL ou PHP_INI_USER dans les fichiers PHP.ini ). Si vous essayez de modifier certaines options qui ne peuvent pas être modifiées au moment de l'exécution (telles que max_execution_time ), INI_SET reviendra False , indiquant que le paramètre a échoué.

3. Comment utiliser ini_get_all et ini_set en combinaison?

En utilisant ces deux fonctions ensemble, les développeurs peuvent implémenter les opérations suivantes:

  • Affichez la configuration actuelle : obtenez les valeurs actuelles de tous les éléments de configuration via INI_GET_ALL .

  • Modification de configuration dynamique : modifiez les éléments de configuration lors de l'exécution via INI_SET pour ajuster le comportement de l'application.

  • Débogage et optimisation : Pendant le processus de développement et de débogage, certains éléments de configuration peuvent être temporairement ajustés pour mieux diagnostiquer et résoudre des problèmes.

Exemple d'utilisation: modification de la configuration dans l'environnement de débogage

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 获取当前Éléments de configuration</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">// Sortie de la configuration d&#39;affichage d&#39;erreur actuelle</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">// Affichage d&#39;erreur temporairement activé</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">// Sortie de la limite de mémoire actuelle</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">// Réviser内存限制</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>

Avec INI_GET_ALL , nous obtenons d'abord l'élément de configuration actuel et imprimons la sortie. Ensuite, en utilisant INI_SET pour modifier Display_errors et Memory_limit , et a encore une fois vérifié si la modification a été réussie. Cette approche est idéale pour les ajustements temporaires dans les environnements de développement et de production.

4. Choses à noter

Bien que INI_SET offre une flexibilité puissante, tous les éléments de configuration ne peuvent pas être modifiés au moment de l'exécution. Surtout dans les environnements de production, certains éléments de configuration (tels que max_execution_time , upload_max_filesize ) sont généralement limités. Si vous essayez de modifier ces éléments de configuration, PHP reviendra faux et ne prendra pas effet.

De plus, la modification des éléments de configuration peut affecter le comportement de l'ensemble du script, en particulier dans les cas où plusieurs threads ou demandes simultanées sont élevées, une modification fréquente de la configuration peut conduire à des résultats incohérents. Par conséquent, une prudence supplémentaire est requise lors de l'utilisation de ces fonctions pour garantir que la configuration modifiée n'affecte pas la stabilité de l'application.

5. Résumé

En combinant les fonctions ini_get_all et ini_set , vous pouvez facilement afficher et modifier la configuration PHP. Ces outils offrent aux développeurs la possibilité d'ajuster le comportement d'application de manière flexible au moment de l'exécution, en particulier pendant le développement, le débogage ou l'optimisation. Cependant, il est nécessaire de comprendre leurs limitations d'utilisation pour s'assurer que les éléments de configuration qui ne peuvent pas être modifiés au moment de l'exécution ne sont pas modifiés, évitant les erreurs potentielles ou l'instabilité.