Comment activer toutes les erreurs et tous les avertissements et les enregistrer dans un fichier, mais pour configurer tout cela dans le script (sans rien changer dans php.ini)?
Je veux définir un nom de fichier et que toutes les erreurs et avertissements y soient connectés.
php
error-handling
Gorep
la source
la source
ini_set
ne fonctionne que si ce code est exécuté. Inutile pour le code comportant des erreurs d'analyse car l'erreur se produira avant l'exécution du code. Au lieu de cela, écrivez ces changements dans le php.ini.php_flag log_errors on php_value error_log /home/path/public_html/domain/PHP_errors.log
. Voir perishablepress.com/…tmp/php-error.log
de quel emplacement vous souhaitez?Voir
error_log
- Envoyer un message d'erreur quelque partExemple
Vous pouvez personnaliser la gestion des erreurs avec vos propres gestionnaires d'erreurs pour appeler cette fonction pour vous chaque fois qu'une erreur ou un avertissement ou tout ce dont vous avez besoin pour vous connecter se produit. Pour plus d'informations, veuillez vous référer au chapitre Gestion des erreurs dans le manuel PHP
la source
Mettez simplement ces codes en haut de votre fichier PHP / index:
la source
display_errors
ne doit JAMAIS être activé sur un serveur de production en direct - cette directive est spécifiquement destinée à la sortie vers l'utilisateur et n'a aucun effet sur la journalisation. php.net/manual/en/…ajoutez ce code dans .htaccess (comme alternative à la fonction php.ini / ini_set ):
* comme commenté: c'est pour les serveurs de type Apache , et non pour Nginx ou autres.
la source
C'est ma courte fonction personnelle
la source
Jetez un oeil à l'
log_errors
option de configuration dans php.ini. Il semble faire exactement ce que vous voulez. Je pense que vous pouvez également utiliser l'error_log
option pour définir votre propre fichier de journalisation.Lorsque la
log_errors
directive est définie surOn
, toutes les erreurs signalées par PHP sont enregistrées dans le journal du serveur ou dans le fichier spécifié avecerror_log
. Vous pouvez également définir ces options avecini_set
, si vous en avez besoin.(Veuillez noter que
display_errors
devrait être désactivé dans php.ini si cette option est activée)la source
display_errors
être désactivé si vous activezlog_errors
? Ça n'a pas de sens à mon avis. :)De plus, vous avez besoin de la directive "AllowOverride Options" pour que cela fonctionne. (Apache 2.2.15)
la source