web-dev-qa-db-fra.com

Où puis-je trouver des fichiers de journal d'erreur?

Où puis-je trouver des fichiers de journal d'erreur? J'ai besoin de les vérifier pour résoudre une erreur de serveur interne affichée après l'installation de suPHP.

26
user1010966

Vous pouvez utiliser "lsof" pour trouver des fichiers journaux ouverts sur votre système. lsof vous donne juste une liste de tous les fichiers ouverts.

Utilisez grep pour "log" ... réutilisez grep pour "php" ( si le nom du fichier contient les chaînes "log" et "php" comme dans "php_error_log" et que vous êtes l'utilisateur root trouvera les fichiers sans connaître la configuration ).

        root@lnx-work:~# lsof |grep log
        ... snip
        gmain     12148 12274       user   13r      REG              252,1    32768     661814 /home/user/.local/share/gvfs-metadata/home-11ab0393.log
        gmain     12148 12274       user   21r      REG              252,1    32768     662622 /home/user/.local/share/gvfs-metadata/root-56222fe2.log
        gvfs-udis 12246             user  mem       REG              252,1    55384     790567 /lib/x86_64-linux-gnu/libsystemd-login.so.0.7.1
==> Apache 12333             user  mem       REG              252,1    55384     790367 /var/log/http/php_error_log**
        ... snip 
        root@lnx-work:~# lsof |grep log |grep php 
        **Apache 12333             user  mem       REG              252,1    55384     790367 /var/log/http/php_error_log**
        ... snip 

Consultez également cet article sur la recherche de fichiers journaux ouverts: Recherche de fichiers journaux ouverts sur un système Linux

25
omoser

Travaille pour moi. Comment enregistrer toutes les erreurs php dans un journal fiie?

Il suffit d’ajouter la ligne suivante à /etc/php.ini pour consigner les erreurs dans le fichier spécifié - /var/log/php-scripts.log

vi /etc/php.ini

Modifier la directive error_log

error_log = /var/log/php-scripts.log

Assurez-vous que display_errors est désactivé (aucune erreur pour les utilisateurs finaux)

display_errors = Off

Enregistrez et fermez le fichier. Redémarrez le serveur Web:

/etc/init.d/httpd restart

Comment enregistrer les erreurs dans syslog ou dans le journal des événements Windows Server?

Modifiez error_log comme suit:

error_log = syslog

Comment voir les journaux?

Login using ssh or download a log file /var/log/php-scripts.log using sftp:
$ Sudo tail -f /var/log/php-scripts.log
13
RDK

Quel système d'exploitation utilisez-vous et quel serveur Web? Sous Linux et Apache, vous pouvez trouver le journal d'erreur Apache dans/var/log/Apache2 /

4
hiasl86

Sur CentoS avec cPanel installé, mes journaux étaient dans:

/usr/local/Apache/logs/error_log

Regarder: tail -f /usr/local/Apache/logs/error_log

4
Bradley Flood

C’est une réponse préférable dans la plupart des cas d’utilisation, car elle vous permet de dissocier l’exécution directe du logiciel de la connaissance directe de la plate-forme du serveur, ce qui maintient votre code beaucoup plus portable. Si vous utilisez beaucoup de cron/cgi, cela ne vous aidera peut-être pas directement, mais vous pourrez le définir dans une configuration au moment de l'exécution Web à partir de laquelle les scripts cron/cgi extrairont pour que l'emplacement du journal reste cohérent.


Vous pouvez obtenir le fichier journal actuel attribué nativement à php sur n’importe quelle plate-forme au moment de l’exécution en utilisant:

ini_get('error_log');

Cela renvoie la valeur distribuée directement au binaire php par le serveur Web, ce qui est ce que vous voulez dans 90% des cas d'utilisation (à l'exception flagrante étant cgi). Cgi se connecte souvent au même emplacement que le client du serveur Web http, mais pas toujours.

Vous voudrez également vérifier qu'il est accessible en écriture avant de rien commettre pour éviter les erreurs. Le fichier de configuration qui définit son emplacement (généralement Apache.conf globalement ou vhosts.conf par domaine), mais la conf n'assure pas que les autorisations de fichier autorisent l'accès en écriture au moment de l'exécution.

1
mopsyd

J'utilise Cent OS 6.6 avec Apache et pour moi, les fichiers du journal des erreurs sont dans

/ usr/local/Apache/log

1
AnukuL

Cela va certainement vous aider,

https://davidwinter.me/enable-php-error-logging/

[~ # ~] ou [~ # ~]

Dans php.ini: (vim /etc/php.ini ou Sudo vim /usr/local/etc/php/7.1/php.ini)

display_errors = Off

log_errors = On

error_log = /var/log/php-errors.log

Rendre le fichier journal, et accessible en écriture par www-data:

Sudo touch /var/log/php-errors.log

/var/log/php-errors.log

Sudo chown: www

Merci,

0
Pratik Mehta