web-dev-qa-db-fra.com

PHP emplacement du journal des erreurs du serveur intégré

Je ne sais pas s'il y en a? mais php construit dans le serveur Web également enregistrer ses journaux d'erreur dans un fichier? à des fins de suivi, comme lors de la création d'un hôte virtuel dans Apache.

MISE À JOUR: J'utilise Mac OSX

12
Bryan Estrito

Oui, PHP possède une fonctionnalité de journal des erreurs intégrée.

PHP enregistre automatiquement les erreurs dans ce fichier.

Si vous souhaitez enregistrer les erreurs, utilisez la fonction error_log ()

L'emplacement du fichier change en fonction de l'environnement.

par exemple.

dans Ubuntu 12.04, ses

var/log/php_errors.log

Dans les fenêtres XAMPP,

\xampp\php\logs\php_errors.log

Sous Mac OS,

/var/log/Apache2/php_errors.log

5
Pupil

Le serveur Web intégré ne se connecte nulle part par défaut, vous devez donc lui fournir un fichier php.ini pour le personnaliser. Par exemple, si vous avez créé un fichier appelé php.ini avec ce contenu:

error_log = /Users/me/test.log
log_errors = on
date.timezone = UTC

Ensuite, vous pouvez démarrer le serveur Web intégré de PHP comme ceci:

php -S 127.0.0.1:8080 -c php.ini

Et les appels error_log () seront enregistrés dans le fichier que vous avez spécifié.

16
thenickdude

Lorsque vous utilisez le serveur intégré PHP sur macOS, vous devez spécifier error_log dans votre fichier de configuration php.ini (php -i | grep php.ini).

Si vous décidez avec syslog (au lieu d'un fichier journal) tel que:

error_log = syslog

Ensuite, pour vider les journaux, vous pouvez utiliser la commande log sur macOS, par exemple.

log stream --predicate 'processImagePath contains "php"'

Sinon, utilisez un chemin de fichier spécifique pour le journal des erreurs (par exemple /usr/local/var/log/php-error.log).

1
kenorb

Pour mettre à jour pour Mac OS X High Sierra (10.13.5) : cela a fonctionné pour moi sans qu'il soit nécessaire de modifier les valeurs par défaut de PHP. Juste utiliser

error_log('*** notice this***');

et suivre le journal des erreurs:

tail -f /var/log/Apache2/error_log
0
dhc