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.
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
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
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 /
Sur CentoS avec cPanel installé, mes journaux étaient dans:
/usr/local/Apache/logs/error_log
Regarder: tail -f /usr/local/Apache/logs/error_log
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.
J'utilise Cent OS 6.6 avec Apache et pour moi, les fichiers du journal des erreurs sont dans
/ usr/local/Apache/log
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,