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. P>
4 Réponses :
Essayez error_log = syslog code> dans votre php.ini. p>
J'ai ceci dans mon /etc/php5/cli/php.ini code> (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:
Il y a deux questions à prendre en compte: p>
Premier, PHP CLI utilise un php.ini différent de la version de PHP qui fonctionne via Apache. Assurez-vous de modifier le 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. P> error_log code> dans la version CLI. P>
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.
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 code> P>
Qu'avez-vous mis dans la php.ini?
ERROR_LOG CODE> et
LOG_ERRORS CODE> et
ERROR_REPORTING CODE> 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