Je veux une erreur de connexion dans PHP CodeIgniter. Comment puis-je activer la journalisation des erreurs?
J'ai quelques questions:
CodeIgniter a des fonctions de journalisation des erreurs intégrées.
$config['log_threshold'] = 1;
log_message('error', 'Some variable did not contain a value.');
log_exceptions()
. Vous pouvez le faire vous-même ou utiliser this . Plus d'infos sur l'extension du noyau iciVoir http://www.codeigniter.com/user_guide/general/errors.html
Pour simplement mettre une ligne dans le journal des erreurs du serveur, utilisez la fonction error_log () de PHP. Cependant, cette méthode n'enverra pas de courrier électronique.
Tout d'abord, pour déclencher une erreur:
trigger_error("Error message here", E_USER_ERROR);
Par défaut, cela ira dans le fichier journal des erreurs du serveur. Voir la directive ErrorLog pour Apache. Pour définir votre propre fichier journal:
ini_set('error_log', 'path/to/log/file');
Notez que le fichier journal que vous choisissez doit déjà exister et être accessible en écriture pour le processus serveur. Le moyen le plus simple de rendre le fichier accessible en écriture consiste à faire de l'utilisateur du serveur le propriétaire du fichier. (L'utilisateur du serveur peut être personne, _www, Apache ou autre, selon la distribution de votre système d'exploitation.)
Pour envoyer l'erreur par courrier électronique, vous devez configurer un gestionnaire d'erreur personnalisé:
function mail_error($errno, $errstr, $errfile, $errline) {
$message = "[Error $errno] $errstr - Error on line $errline in file $errfile";
error_log($message); // writes the error to the log file
mail('[email protected]', 'I have an error', $message);
}
set_error_handler('mail_error', E_ALL^E_NOTICE);
Veuillez consulter la documentation pertinente PHP pour plus d'informations.
Assurez-vous également que vous avez autorisé codeigniter à consigner le type de messages souhaité dans un fichier de configuration.
i.e $config['log_threshold'] = [log_level ranges 0-4];
Pour en savoir plus sur la question 4 Comment envoyer cette erreur par courrier électronique à une adresse électronique? La fonction error_log contient également une adresse électronique . http://php.net/manual/fr/function. error-log.php
Agha, voici que j'ai trouvé un exemple qui montre un usage . Envoyer un message d'erreur par email en utilisant error_log ()
error_log($this->_errorMsg, 1, ADMIN_MAIL, "Content-Type: text/html; charset=utf8\r\nFrom: ".MAIL_ERR_FROM."\r\nTo: ".ADMIN_MAIL);