J'ai du code PHP. Lorsque je l'exécute, un message d'avertissement apparaît.
Comment puis-je supprimer/supprimer/ignorer ces messages d'avertissement?
Vous devriez vraiment réparer ce qui cause l'avertissement, mais vous pouvez contrôler la visibilité des erreurs avec error_reporting . Pour ignorer les messages d’avertissement, vous pouvez utiliser quelque chose comme:
error_reporting(E_ERROR | E_PARSE);
Vous pouvez placer un @ devant votre appel de fonction pour supprimer tous les messages d'erreur.
@yourFunctionHere();
Pour supprimer les avertissements tout en laissant tous les autres rapports d’erreurs activés:
error_reporting(E_ALL ^ E_WARNING);
Si vous ne souhaitez pas afficher les avertissements ainsi que les erreurs, utilisez
// Turn off all error reporting
error_reporting(0);
Si vous souhaitez supprimer les avertissements et certains autres types d'erreur (par exemple, les avis) tout en affichant toutes les autres erreurs, vous pouvez procéder comme suit:
error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE);
dans Core Php pour masquer le message d’avertissement, définissez error_reporting (0) en haut du fichier include commun ou du fichier individuel.
Dans Wordpress masquer les avertissements et les avis ajouter le code suivant dans le fichier wp-config.php
ini_set('log_errors','On');
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Pas exactement répondre à la question, mais je pense que c'est un meilleur compromis dans certaines situations:
J'ai reçu un message d'avertissement à la suite d'une instruction printf () dans une bibliothèque tierce. Je savais exactement quelle était la cause: une solution temporaire pendant que la tierce partie corrigeait son code. Je conviens que les avertissements ne devraient pas être supprimés, mais je ne pouvais pas montrer mon travail à un client avec le message d'avertissement affiché à l'écran. Ma solution:
printf('<div style="display:none">');
...Third-party stuff here...
printf('</div>');
Warning était toujours dans le code source de la page, mais invisible pour le client.
Vous pouvez supprimer l'avertissement à l'aide de error_reporting , mais le meilleur moyen consiste à réparer votre script en premier lieu.
Si vous ne savez pas comment, éditez votre question et montrez-nous la ligne en question et l'avertissement qui y est affiché.
Je pense que la meilleure solution est la configuration de .htaccess. Ainsi, vous n’avez pas à modifier le code de l’application. Voici les directives pour Apache2
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0
Je le fais comme suit dans mon php.ini:
error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
Cela enregistre uniquement les erreurs fatales et aucun avertissement.
PHP 7.2 fournit des exemples à essayer. Voici un extrait de ce qui est donné dans le fichier php.ini à partir de la ligne 449.
; Common Values:
; E_ALL (Show all errors, warnings and notices including coding standards.)
; E_ALL & ~E_NOTICE (Show all errors, except for notices)
; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.)
; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
; http://php.net/error-reporting
error_reporting = E_ALL
Alors lisez-le et essayez les différents exemples qu’ils fournissent. une fois modifié, redémarrez votre serveur et testez les scénarios.