Raisons pour lesquelles PHP écho des erreurs, même avec la fonction error_reporting(0)?
Quelles sont certaines des raisons pour lesquelles php obligerait les erreurs de montrer, peu importe ce que vous dites pour le désactiver?
J'ai essayé
error_reporting(0);
ini_set('display_errors',0);
avec pas de chance.
Je ne connais pas cette réponse, mais si possible, il peut vous aider si vous fournir un exemple d'une erreur qui s'est affiché avec des rapports éteint.
Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /usr/home/johnq/public_html/dev.php sur la ligne 11, la seule PHP dans dev.php est-ce: <?php error_reporting(0); echo "test" $test = "123"; ?>
Sans message d'erreur, il aurait fallu beaucoup plus de temps pour se rendre compte que votre script n'était pas en cours d'exécution tout simplement parce qu'il manque un point-virgule.
Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /usr/home/johnq/public_html/dev.php sur la ligne 11, la seule PHP dans dev.php est-ce: <?php error_reporting(0); echo "test" $test = "123"; ?>
Sans message d'erreur, il aurait fallu beaucoup plus de temps pour se rendre compte que votre script n'était pas en cours d'exécution tout simplement parce qu'il manque un point-virgule.
OriginalL'auteur Valdemarick | 2008-09-16
Vous devez vous connecter pour publier un commentaire.
Note de la mise en garde dans le manuel de http://uk.php.net/error_reporting:
Si votre système sous-jacent est configuré pour signaler des erreurs E_STRICT, ceux-ci peuvent être de sortie avant que votre code est même pas considéré. N'oubliez pas, la fonction error_reporting/ini_set d'exécution des évaluations, et rien effectuée dans un "avant-run" phase de ne pas voir leurs effets.
Basé sur votre commentaire que votre erreur est...
Alors le même concept s'applique. Votre code n'est jamais exécuté, comme il est syntaxiquement invalide (vous avez oublié un ';'). Par conséquent, votre changement de rapport d'erreur n'est jamais rencontrés.
Corriger cela nécessite un changement de niveau du système de rapport d'erreur. Par exemple, sur un serveur Apache, vous pourriez être en mesure de placer...
php_value error_reporting 0
dans un .fichier htaccess pour les éliminer tous, mais c'est dépendant de la configuration du système.
De façon pragmatique, ne pas écrire des fichiers avec des erreurs de syntaxe 🙂
OriginalL'auteur Adam Wright
Pour empêcher l'affichage d'erreurs, vous pouvez
code en modules individuels, où le
principale (mère) fichier php, seul le
error_logging et de l'inclure() la
autres fichiers.
OriginalL'auteur Willem
utiliser la fonction phpinfo pour trouver le chargé de php.ini et modifiez-la pour masquer les erreurs. il remplace à ce que vous mettez dans votre script.
OriginalL'auteur khalid
Est
set_error_handler()
utilisé n'importe où dans votre script? Ceci remplace la fonction error_reporting(0)OriginalL'auteur colmde
Utilisation log_errors pour eux d'être connecté au lieu de s'afficher
OriginalL'auteur Vinko Vrsalovic
Si le paramètre est spécifié dans Apache à l'aide de php_admin_value il ne peut pas être changé .htaccess ou dans l'exécution.
Voir: http://docs.php.net/configuration.changes
OriginalL'auteur troelskn
Pour s'assurer il n'y a pas d'erreurs de syntaxe dans le fichier, exécutez la commande suivante:
Ceci affichera quelque chose comme ceci:
Espère que cette aide.
OriginalL'auteur ob-ivan
Juste ajouter le code ci-dessous dans votre index.php fichier:
ini_set('display_errors', False);
OriginalL'auteur dheerendra