Existe-t-il un moyen de faire taire toutes les erreurs, avertissements et notifications PHP dans Drupal?.
Je sais que sur Drupal 6 la page dans admin/settings/error-reporting peut empêcher Drupal d'écrire des erreurs sur l'écran, mais où puis-je trouver cela dans Drupal 7? Il semble qu'il manque.
Le chemin change, comme dans Drupal 7 la même page que vous verriez auparavant dans admin/settings/error-reporting est maintenant dans admin/config/development/logging.
Comme suggéré, dans Administration » Configuration » Development
(À /admin/config/development/logging
), Vous pouvez trouver le paramètre pour désactiver l'affichage des messages d'erreur, mais cela ne désactivera pas complètement les erreurs/notifications.
C'est parce que Drupal 7 applique E_ALL, ils sont donc toujours écrits dans syslog et vous pouvez les voir dans Journaux récents affectant les performances de votre site Web.
Pour désactiver complètement les notifications, vous devrez ajouter la ligne suivante dans votre fichier settings.php
Ou php.ini
:
ini_set('error_reporting', E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
Afficher toutes les erreurs, à l'exception des notifications et des avertissements relatifs aux normes de codage.
Pour faire taire toutes les erreurs PHP, ce qui n'est pas recommandé, vous pouvez essayer d'ajouter votre fichier de paramètres:
error_reporting(0); // Disable all errors.
Voir: error_reporting()
Responsable Drupal 7 code de base pour la journalisation E_ALL
(Fichier: includes/bootstrap.inc
):
// Enforce E_ALL, but allow users to set levels not part of E_ALL.
error_reporting(E_ALL | error_reporting());
Voir également:
Une chose que personne n'a mentionnée qui peut être utile pour les gens est que Drupal 7 ignore tous les niveaux de rapport d'erreurs du système local. Vous ne pouvez donc pas utiliser .htaccess ou même php.ini pour définir niveaux de rapport d'erreurs php dans Drupal.
Il y a un correctif proposé pour cela dans D8, mais actuellement dans D7 vous êtes limité aux 3 masques d'erreur - tous, aucun, ou erreurs et avertissements - qui sont définis sur la page d'administration indiquée par kiamlaluno.
Les paramètres sont toujours dans admin/config/development/logging :)
Je ne sais pas pourquoi la méthode Drush est si non documentée, mais j'ai dans mon script de construction:
drush vset error_level 0
... qui enregistre les messages d'erreur dans le journal mais ne les affiche pas à l'écran.
Vous devrez peut-être ajouter des devis à la solution kenorb publiée ci-dessus:
ini_set('error_reporting', 'E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR');
Il existe un module pour cela:
https://www.drupal.org/project/errorlevelpermission
Depuis la page du projet:
Afin que vous puissiez