Personal tools
You are here: Home GNU / Linux Debian 4.0 Etch Mettre en place une notification par email des erreurs PHP
Document Actions
  • Send this page to somebody
  • Print this page
  • Add Bookmarklet

Mettre en place une notification par email des erreurs PHP

by Pierre-Yves Landuré last modified 2010-11-10 16:30

Dans certaines conditions, il peut être souhaitable d'être notifié rapidement des erreurs PHP qui peuvent apparaître sur un serveur. Ce guide vous propose une solution pour mettre en place de telles notifications.

Installez le Simple Event Correlator :

command apt-get install sec

Créez un dossier destiné à contenir vos fichiers de configuration :

command mkdir --parent "/etc/sec"

Créez le fichier de configuration de la notification par e-mail des erreurs PHP pour Apache 2 :

command echo '# Capture error lines and store them in php-errors
type=Single
ptype=RegExp
pattern=^\[.+\] \[error\] \[client .+\] PHP .+$
desc=PHP error or warning
action=add php-errors $0
 
# Report errors every minute if php-errors is set
type=Calendar
time=* * * * *
desc=Mail PHP errors
context=php-errors
action=report php-errors /usr/bin/mail -s "PHP errors" root@localhost; delete php-errors;
' > "/etc/sec/apache2-php-errors.conf"

Créez le fichier de configuration de la notification par e-mail des erreurs PHP pour LigHTTPd :

command echo '# Capture error lines and store them in php-errors
type=Single
ptype=RegExp
pattern=^.+: \(mod_fastcgi\.c\..+\) .+$
desc=PHP error or warning
action=add php-errors $0
 
# Report errors every minute if php-errors is set
type=Calendar
time=* * * * *
desc=Mail PHP errors
context=php-errors
action=report php-errors /usr/bin/mail -s "PHP errors" root@localhost; delete php-errors;
' > "/etc/sec/lighttpd-php-errors.conf"

Configurez le démon de notification (pour Apache 2 ou Lighttpd) :

if [ -d "/var/log/apache2" ]; then
  command echo '
# PHP monitoring defaults
RUN_DAEMON="yes"
DAEMON_ARGS="-conf=/etc/sec/apache2-php-errors.conf -input=/var/log/apache2/*error.log -pid=/var/run/sec.pid -detach -syslog=daemon"
' >> "/etc/default/sec"
elif [ -d "/var/log/lighttpd" ]; then
  command echo '
# PHP monitoring defaults
RUN_DAEMON="yes"
DAEMON_ARGS="-conf=/etc/sec/lighttpd-php-errors.conf -input=/var/log/lighttpd/*error.log -pid=/var/run/sec.pid -detach -syslog=daemon"
' >> "/etc/default/sec"
fi

Lancez le démon :

/etc/init.d/sec start

Vous recevrez maintenant les notifications à l'adresse recevant les mails du compte root de votre serveur.

Remerciements

BlogBang
Navigation
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards:

Wikio