Position actuelle: Accueil> Derniers articles> Comment modifier le niveau de rapport d'erreur de PHP à l'aide de INI_SET?

Comment modifier le niveau de rapport d'erreur de PHP à l'aide de INI_SET?

gitbox 2025-08-26

Dans le développement de PHP, la déclaration des bogues est une caractéristique cruciale qui aide les développeurs à localiser et à résoudre rapidement les problèmes dans leur code. PHP fournit une variété de façons de contrôler le niveau de rapport d'erreur, dont l'un consiste à utiliser la fonction ini_set () . Cet article présentera comment modifier le niveau de rapport d'erreur de PHP via la fonction INI_SET () et fournir quelques scénarios d'application courants.

Quelle est la fonction ini_set () ?

INI_SET () est une fonction intégrée dans PHP qui est utilisée pour modifier les options de configuration PHP à l'exécution. Grâce à cette fonction, les développeurs peuvent modifier les paramètres spécifiés dans le fichier de configuration PHP (PHP.ini), y compris le niveau de rapport d'erreur, le fuseau horaire, la taille du téléchargement de fichiers, etc. Sa syntaxe de base est la suivante:

 <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$option</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ Option : le nom de l'option de configuration qui doit être modifiée.

  • $ Value : Nouvelle valeur de configuration.

Dans cet article, nous nous concentrerons sur la façon d'utiliser INI_SET () pour contrôler le niveau de rapport d'erreur PHP.

Modifier le niveau du rapport d'erreur

Le mécanisme de rapport d'erreur de PHP utilise deux éléments de configuration principaux: error_report et display_errors . ERROR_REPORTING CONTRÔLE Le type d'erreur affiché par PHP, tandis que Display_errors contrôle si les erreurs sont affichées sur les pages Web.

1. Utilisez Error_Reportting () pour définir le niveau d'erreur

La fonction error_reporting () est utilisée pour définir le niveau verbeux de la déclaration des erreurs PHP. Dans la fonction ini_set () , nous pouvons spécifier le niveau d'erreur rapporté en définissant l'option Error_Reportting .

Par exemple, supposons que nous ne voulons signaler que toutes les erreurs, mais pas les avertissements et les notifications:

 <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'error_reporting'</span></span><span>, E_ERROR | E_WARNING);
</span></span>

Dans le code ci-dessus, E_error indique une erreur fatale et E_Warning indique un avertissement d'exécution. Cela fera que PHP ne rapporte que des erreurs et des avertissements mortels.

2. Affichage d'erreur de contrôle

De plus, l'élément de configuration Display_errors détermine s'il faut afficher l'erreur directement dans le navigateur. En général, dans un environnement de développement, nous voulons voir des informations d'erreur détaillées, tandis que dans un environnement de production, nous devons désactiver les erreurs d'affichage pour une meilleure sécurité.

 <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-comment">// Des erreurs sont affichées dans l&#39;environnement de développement</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 class="hljs-comment">// Aucune erreur n&#39;est affichée dans l&#39;environnement de production</span></span><span>
</span></span>

Il est généralement recommandé de définir Display_errors à 1 pendant le développement et 0 en production pour éviter que les informations sensibles ne soient divulguées.

3. Exemple complet

Voici un exemple complet de code indiquant comment configurer le niveau de rapport d'erreur à l'aide de la fonction ini_set () :

 <span><span><span class="hljs-comment">// Définir le niveau de rapport d&#39;erreur:Signaler tous les types d&#39;erreurs</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'error_reporting'</span></span><span>, E_ALL);

</span><span><span class="hljs-comment">// 在Des erreurs sont affichées dans l&#39;environnement de développement</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">1</span></span><span>);

</span><span><span class="hljs-comment">// Désactiver les erreurs d&#39;affichage dans l&#39;environnement de production</span></span><span>
</span><span><span class="hljs-comment">// ini_set('display_errors', 0);</span></span><span>
</span></span>

Niveaux de rapport d'erreur communs

Dans PHP, Error_Reporting () accepte un ensemble de constantes, chacune représentant un type d'erreur différent. Les niveaux d'erreur courants comprennent:

  • E_ERROR : Erreur d'exécution fatale.

  • E_WARNING : avertissement d'exécution (erreur non mortelle).

  • E_NOTICE : Notification d'exécution (généralement un problème possible dans les scripts).

  • E_ALL : Toutes les erreurs et avertissements.

  • E_strict : un avertissement pour les meilleures pratiques du code PHP (par exemple, un avertissement pour les fonctionnalités de dépréciation).

Vous pouvez combiner ces constantes pour sélectionner le type d'erreur que vous souhaitez signaler. Par exemple, e_error | E_WARNING | E_Parse rapporte toutes les erreurs mortelles, avertissements et erreurs d'analyse.

Meilleures pratiques pour les environnements de développement et les environnements de production de débogage

  • Environnement de développement : Pendant la phase de développement, nous avons généralement besoin des informations d'erreur aussi détaillées que possible pour aider à localiser le problème. Par conséquent, Error_Reporting peut être défini sur E_ALL et Display_errors peut être activé d'afficher les messages d'erreur.

     <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'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>
  • Environnement de production : Afin d'éviter la fuite d'informations sensibles, l'affichage des erreurs doit être désactivé dans l'environnement de production et seuls les journaux d'erreur doivent être enregistrés. Cela peut être réalisé dans les paramètres suivants:

     <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'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">0</span></span><span>);
    </span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'log_errors'</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>);  </span><span><span class="hljs-comment">// Activer la journalisation</span></span><span>
    </span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'error_log'</span></span><span>, </span><span><span class="hljs-string">'/path/to/php-error.log'</span></span><span>);  </span><span><span class="hljs-comment">// Définissez le chemin du fichier journal d&#39;erreur</span></span><span>
    </span></span>

résumé

INI_SET () est une fonction puissante qui nous permet d'ajuster dynamiquement la configuration de PHP à l'exécution. En ajustant les configurations Error_Report et Display_errors , nous pouvons contrôler comment PHP rapporte et affiche les erreurs. Dans un environnement de développement, nous voulons voir des informations d'erreur détaillées, tandis que dans un environnement de production, nous devons nous assurer que les informations d'erreur ne sont pas divulguées à l'utilisateur final. Par conséquent, l'utilisation ini_set () pour modifier le niveau de rapport d'erreur de PHP est une compétence de base lors du développement et du déploiement d'applications PHP.