Maison  >  Article  >  développement back-end  >  Comment bloquer toutes les erreurs dans php.ini

Comment bloquer toutes les erreurs dans php.ini

青灯夜游
青灯夜游original
2021-09-07 19:09:562024parcourir

Comment bloquer toutes les erreurs dans php.ini : 1. Ouvrez le fichier de configuration "php.ini" et recherchez l'élément "display_errors" ; 2. Définissez la valeur de l'élément "display_errors" sur "Off" pour le désactiver. tous les rapports d'erreurs PHP, masquant ainsi toutes les erreurs.

Comment bloquer toutes les erreurs dans php.ini

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

Comment bloquer toutes les erreurs dans php.ini :

Ouvrez le fichier de configuration php.ini et recherchez display_errors dedans, puis définissez la valeur de display_errors sur Off pour désactiver tous les rapports d'erreurs PHP. Comme indiqué ci-dessous :

; This directive controls whether or not and where PHP will output errors,
; notices and warnings too. Error output is very useful during development, but
; it could be very dangerous in production environments. Depending on the code
; which is triggering the error, sensitive information could potentially leak
; out of your application such as database usernames and passwords or worse.
; For production environments, we recommend logging errors rather than
; sending them to STDOUT.
; Possible Values:
;   Off = Do not display any errors
;   stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
;   On or stdout = Display errors to STDOUT
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/display-errors
display_errors = Off

Cette méthode devrait être la solution la plus complète, car elle fonctionne sur tous les fichiers PHP.

Connaissances approfondies : Autres moyens de masquer les erreurs

  • Utilisez l'opérateur de contrôle d'erreur : @

PHP prend en charge l'utilisation de l'opérateur de contrôle d'erreur @. Placez-le avant une expression PHP et tous les messages d'erreur que l'expression peut produire seront ignorés.

Si une fonction de gestion des erreurs personnalisée est définie avec set_error_handler(), cette fonction de gestion des erreurs sera toujours appelée, et si @ est utilisé avant l'instruction d'erreur, la fonction de gestion des erreurs renverra 0.

Il est à noter que l'opérateur @ n'est valable que pour les expressions. En termes simples, si vous pouvez obtenir une valeur quelque part, vous pouvez ajouter l'opérateur @ devant. Par exemple, l'opérateur @ peut être utilisé avant des variables, des fonctions, des appels d'inclusion, des constantes, etc., mais il ne peut pas être placé avant la définition d'une fonction ou d'une classe, ni avant des structures conditionnelles telles que les instructions if et foreach. . L'opérateur

@ est également efficace pour les erreurs graves pouvant entraîner l'arrêt du programme. Cela signifie que si vous utilisez @ pour supprimer le message d'erreur avant un appel de fonction qui n'existe pas ou qui contient une lettre incorrecte, le programme ne vous demandera pas. toi. Meurs là.

【Exemple】Utilisez l'opérateur de contrôle d'erreur @ pour masquer les erreurs dans le code.

<?php
    $link = @mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db") or die(&#39;数据库连接失败!&#39;);
?>

Les résultats en cours d'exécution sont les suivants :

数据库连接失败!

Apprentissage recommandé : "Tutoriel vidéo PHP"

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