web-dev-qa-db-fra.com

Wordpress PHP traitement des erreurs et création de rapports dans l'environnement de production

J'essaie de trouver une solution pour gérer l'affichage et la consignation des erreurs dans un environnement de production PHP (Wordpress).

Est-il possible de faire ce qui suit (les suggestions alternatives sont les bienvenues):

  • Capture les erreurs critiques et envoie une notification immédiate par courrier électronique ( cela semble être une solution prometteuse, mais je n’ai pas encore testé la production ).
  • Ne pas afficher les erreurs PHP à l'écran pour les visiteurs. Au lieu d'afficher une page d'erreur construite personnalisée. Quelque chose de plus convivial que le PHP "écran blanc de la mort". Cela inclut les erreurs spécifiques à Wordpress, comme "Erreur lors de l'établissement d'une connexion à une base de données".

Détails de l’environnement de production spécifiques à cette question:

  • WordPress 3.5.1
  • Hébergeur: Cloud Azure Windows
  • Serveur Web: IIS 7.5

Ce que j'ai déjà configuré:

  • Environnement de développement (local), de mise en scène et de production
  • Le code est géré dans le contrôle de source (Team Foundation Server Version Control)
  • Les versions testées sont mises en production (Windows Azure Cloud).
  • J'ai configuré wp-config pour plusieurs environnements:

    • Développement et production se connectent à différentes bases de données.
    • Configs de développement:

      • WP_DEBUG = true
      • WP_DEBUG_DISPLAY = true
      • WP_DEBUG_LOG = true
      • display_errors (via @ini_set) = true
    • Configuration de production:

      • WP_DEBUG = false
      • WP_DEBUG_DISPLAY = false
      • WP_DEBUG_LOG = true
      • display_errors (via @ini_set) = false
4
IntricatePixels

Il est préférable de simplement consigner les erreurs sur le serveur, puis d'utiliser bash ou un script de serveur prenant en charge l'analyse du courrier électronique et des erreurs (au lieu de PHP). Il existe de nombreux outils de fichiers journaux, simples commeLogwatch,Swatch,Octopussy, ou plus complexes. commeNagios.

Pour les erreurs déclenchées à l'aide de WP_Error, vous pouvez écrire une alerte par courrier électronique ou une fonction de journalisation directement dans la classe , c'est-à-dire s'il s'agit de votre code.

Je recommande de vérifier ceci: https://github.com/pippinsplugins/WP-Logging

De plus, WP prend en charge les fichiers maintenance.php et db-error.php que vous pouvez personnaliser, le dernier étant plus utile pour votre question car il gérera les erreurs de base de données liées à WP.

Vous pouvez bien sûr utiliser PHP pour envoyer des erreurs, par exemple, à l'aide de ce qui suit: http://yoast.com/custom-wordpress-database-error-pages/

Mais vous avez tout intérêt à utiliser des fichiers journaux et un analyseur de journaux pour effectuer ce type de travail sur un serveur de production.

4
Wyck