9
votes

Comment obtenir des erreurs php à montrer sur syslog

J'ai un script qui doit courir sur Crontab. J'ai remarqué que je ne pouvais pas voir des erreurs php n'importe où. Je voulais pouvoir voir des erreurs php connectées / var / log / syslog ou un endroit d'autre. J'ai essayé de configurer mon php.ini pour enregistrer les erreurs sur /var/log/php-errors.log, vérifié les autorisations et redémarré le service Apache toujours pas de journaux.


4 commentaires

Qu'avez-vous mis dans la php.ini? ERROR_LOG et LOG_ERRORS et ERROR_REPORTING Sont le Big 3 pour la journalisation au fichier.


error_log = /var/log/php_errors.log, log_errors = marche et error_rporting = e_all & ~ e_depecated


Le compte est-il exécuté sous avoir des autorisations d'écriture dans / var / log et sur ce php-errors.log en particulier?


Je ne suis pas familier sur la façon de vérifier si l'utilisateur dispose d'autorisations d'écriture dans / var / log mais il a des autorisations pour php-errors.log


4 Réponses :


5
votes

Essayez error_log = syslog dans votre php.ini.


0 commentaires

10
votes

J'ai ceci dans mon /etc/php5/cli/php.ini (J'utilise Debian; Je suppose que c'est la même chose pour tout ce que vous utilisez) et il écrit tous les cron Erreurs à / var / log / messages: xxx


0 commentaires

4
votes

Il y a deux questions à prendre en compte:

Premier, PHP CLI utilise un php.ini différent de la version de PHP qui fonctionne via Apache. Assurez-vous de modifier le error_log dans la version CLI.

Deuxièmement, assurez-vous que votre fichier journal est écritable par l'utilisateur qui exécute Cron. Habituellement, le fichier journal n'est pas inscriptible par votre compte d'utilisateur, vous devrez peut-être modifier les autorisations.


1 commentaires

Lorsque vous vous enregistrez sur SysLog, vous n'écrivez pas aux fichiers. Le démon Syslog le fait. Cette réponse n'a pas de sens.



3
votes

sur Ubuntu 16.04, le / dev / log appartient à un groupe MySyslog (tel que défini par SystemD). Donc, pour Apache2 / PHP pour pouvoir écrire dans SysLog, vous devez ajouter aux utilisateurs www-data au groupe MySyslog: AddGroup www-Data MySyslog


0 commentaires