Maison  >  Article  >  développement back-end  >  php supprime le message d'erreur d'une page

php supprime le message d'erreur d'une page

PHPz
PHPzoriginal
2023-05-28 19:39:36348parcourir

Lorsque nous utilisons PHP pour écrire un site Web, nous pouvons rencontrer des erreurs, telles que des erreurs de syntaxe, des erreurs de variables ou des erreurs de fonction dans le code, etc. Ces erreurs sont souvent affichées directement sur la page, affectant l'esthétique et l'expérience utilisateur du site Web.

Afin de résoudre ce problème, nous devons supprimer toutes les invites d'erreur PHP sur une page. Ci-dessous, je vais aborder quelques façons d'y parvenir.

  1. Désactiver le rapport d'erreurs

Le code PHP générera des rapports d'erreur par défaut, et ces rapports seront généralement affichés directement sur la page. Nous pouvons utiliser l'instruction suivante dans le code PHP pour désactiver le rapport d'erreurs :

error_reporting(0);

Cette instruction définira le rapport d'erreurs sur un état fermé afin que les informations d'erreur ne soient pas affichées sur la page. Cependant, cette méthode n’est pas recommandée car elle masque simplement le problème et ne résout pas réellement l’erreur. Lorsque vous devez déboguer du code, vous devez ouvrir le rapport d'erreurs pour afficher les messages d'erreur. Nous pouvons également désactiver le rapport d'erreurs en modifiant la configuration PHP. Dans le fichier php.ini, vous pouvez trouver une ligne de code :

display_errors = On
    Changez-le par :
  1. display_errors = Off
  2. Cela désactivera le rapport d'erreurs PHP sur toutes les pages. Mais cette méthode ne fonctionne qu'avec les paramètres globaux. Si vous souhaitez désactiver le rapport d'erreurs sur une certaine page, vous devez utiliser d'autres méthodes.

Définir le gestionnaire d'erreurs dans le code

Dans le code PHP, nous pouvons utiliser la fonction set_error_handler() pour spécifier un gestionnaire d'erreurs. Cette fonction prend une fonction personnalisée comme paramètre pour gérer les erreurs dans le code. Par exemple, vous pouvez créer une fonction qui gère les erreurs :

function customErrorHandler($errno, $errstr) {
    // 如果错误级别不是E_WARNING和E_NOTICE,就将错误输出到error.log文件
    if ($errno != E_WARNING && $errno != E_NOTICE) {
        error_log($errstr, 3, 'error.log');
    }
}
    Cette fonction affichera toutes les erreurs avec des niveaux d'erreur définis sur autre que E_WARNING et E_NOTICE dans le fichier error.log. Pour activer cette fonction, utilisez simplement le code suivant dans votre code :
  1. set_error_handler('customErrorHandler');
  2. De cette façon, le message d'erreur ne sera pas affiché sur la page, mais le message d'erreur sera affiché dans le fichier spécifié.

Utilisation du framework PHP

Si vous utilisez un framework PHP, vous pouvez utiliser les méthodes fournies par le framework pour désactiver le rapport d'erreurs. Par exemple, dans le framework Laravel, vous pouvez définir debug sur false dans le fichier de configuration app.php :

'debug' => env('APP_DEBUG', false),
    Cela désactivera le rapport d'erreurs pour l'application. De même, d'autres frameworks PHP peuvent désactiver le rapport d'erreurs via des fichiers de configuration ou du code.
  1. Résumé

Lors du développement d'un site Web PHP, le rapport d'erreurs peut affecter l'expérience utilisateur et l'esthétique. Ce problème peut être résolu en désactivant le rapport d'erreurs, en modifiant la configuration PHP, en configurant un gestionnaire d'erreurs ou en utilisant un framework pour désactiver le rapport d'erreurs. Veuillez noter que nous devons activer le rapport d'erreurs lors du débogage du code afin que les problèmes puissent être identifiés et résolus rapidement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn