Je suis sur l'hébergement mutualisé et ai Cpanel, Apache, PHP est géré par fastcgi. Où PHP stocke-t-il le journal des erreurs?
Existe-t-il un autre moyen de trouver le journal des erreurs sur l'environnement d'hébergement partagé au lieu d'avoir à parcourir toute la structure du site pour rechercher les fichiers error_log?
J'ai accès à php.ini
(j'utilise PHP version 5.2.16).
error-handling
php
PHPLOVER
la source
la source
/var/log/httpd/error_log
ou/var/log/apache2/error.log
. Ces fichiers appartiennent à root, vous devez donc être root ou utilisersudo
pour le voir ou le lire.php --info | grep error
php --info | findstr /r /c:"error_log"
pour voir où se trouve le fichier journal.Réponses:
PHP stocke les journaux d'erreurs
/var/log/apache2
si PHP est un module apache2. Les hôtes partagés stockent souvent des fichiers journaux dans votre/log
sous-dossier du répertoire racine . Mais ... si vous avez accès à unphp.ini
fichier, vous pouvez le faire:Selon le commentaire de rinogo : si vous utilisez cPanel, le fichier journal maître que vous recherchez probablement est stocké (par défaut) dans
Si tout le reste échoue, vous pouvez vérifier l'emplacement du fichier journal à l'aide de
la source
/usr/local/apache/logs/error_log
<?php phpinfo(); ?>
pour confirmer le cheminEssayez de
phpinfo()
vérifier "error_log"la source
echo ini_get('error_log');
?error_reporting(E_ALL|E_STRICT);
se.php.net/manual/en/function.error-reporting.phpLinux
Le terminal affichera l'emplacement du journal des erreurs.
les fenêtres
L'invite de commande affichera l'emplacement du journal des erreurs
Pour définir l'emplacement du journal
Ouvrez votre
php.ini
et ajoutez la ligne suivante:Merci @chelmertez , @Boom pour ces (commentaires sur la question).
la source
php -info
génère quelque chose? Vous devez vous assurer d'php
appeler PHP pour exécuter ...php.ini
, et ensembleerror_reporting
àE_ALL & ~E_DEPRECATED & ~E_STRICT
, ou quoi que les erreurs que vous voulez voir, puis définissezerror_log
le chemin vers le répertoire dans lequel vous voulez que vos erreurs journaliser. (Remarque: ce n'est pas un chemin complet vers un fichier, juste vers un répertoire.)php --info | grep log
m'a dirigé vers / var / www / logs où se trouvaient les journaux les plus récents.sudo /etc/init.d/apache2 restart
Dans un environnement LAMP, les erreurs php sont dirigées par défaut vers ce fichier ci-dessous.
Tous les journaux d'accès sont regroupés sous:
la source
Comment trouver votre journal d'erreurs PHP sous Linux:
Une autre manière équivalente:
la source
Il semble que par défaut php n'enregistre pas les erreurs n'importe où, la
error_log
clé de php.ini est commentée dans toutes les installations que j'ai vues.En général, je:
locate php.ini
.Recherchez la
error_reporting
valeur dans ces fichiers ;Qui devrait être réglé sur la fusion des niveaux de journal php qui vous suffit. ,
Par exemple:
E_ALL & ~E_DEPRECATED & ~E_STRICT
Vérifiez la
error_log
valeur pour vous assurer qu'elle pointe vers un lieu réel et n'est pas mise en commentaire.La valeur par défaut ne donne pas un chemin complet, seulement un nom de fichier, je ne sais pas où ce chemin se résout normalement. Probablement
/var/log/
.la source
Vous devez utiliser le chemin absolu lors de la définition de la variable error_log dans votre fichier php.ini, sinon, les journaux d'erreurs seront stockés en fonction de votre chemin relatif.
Une autre solution consisterait à écrire un script simple qui répertorierait tous les fichiers journaux d'erreurs de l'arborescence de répertoires.
la source
Cela peut également être le
/var/log/apache2/error.log
cas si vous utilisez le moteur de calcul Google.Et vous pouvez voir la queue comme ceci:
la source
Si vous avez construit Apache et PHP à partir des sources, alors les journaux d'erreurs par défaut sont générés sur votre
${Apache install dir}/logs/error_log
ie en général/usr/local/apache2/logs/error_log
. Sinon, si vous l'avez installé à partir du référentiel, vous le trouverez à./var/log/apache2/error_log
Vous pouvez définir le chemin dans votrephp.ini
aussi et le vérifier en l'appelantphpinfo()
.la source
La meilleure façon est de regarder dans votre fichier httpd.conf et de voir quelle est la valeur par défaut. Il peut également être remplacé par votre hôte virtuel spécifique. Je commence par regarder
/etc/httpd/conf/httpd.conf
ou/etc/apache2/httpd.conf
et recherche error_log. Il peut être répertorié comme / var / log / httpd / error_log ou/var/log/apache2/error_log
mais il peut également être répertorié simplementlogs/error_log
.Dans ce cas, il s'agit d'un chemin relatif, ce qui signifie qu'il sera sous
/etc/httpd/logs/error_log
. Si vous ne le trouvez toujours pas, vérifiez le bas de votre fichier httpd.conf et voyez où vos hôtes virtuels sont inclus. Il peut être dans /etc/httpd/conf.d/<- comme "autre" ou "extra". Votre hôte virtuel pourrait alors le remplacer avec ErrorLog "/ path / to / error_log".la source
Lors de la configuration de votre fichier journal des erreurs dans php.ini, vous pouvez utiliser un chemin absolu ou un chemin relatif. Un chemin relatif sera résolu en fonction de l'emplacement du script de génération, et vous obtiendrez un fichier journal dans chaque répertoire dans lequel vous avez des scripts. Si vous voulez que tous vos messages d'erreur se dirigent vers le même fichier, utilisez un chemin absolu pour le fichier.
Voir plus ici: http://www.php.net/manual/en/ref.errorfunc.php#53025
la source
NGINX le stocke généralement dans /var/log/nginx/error.log ou access.log. (Sur Ubuntu en tout cas)
la source
C'est utile. commenté par sjas sur la question. donc je l'ai inclus comme réponse.
la source
Si vous utilisez php5-fpm, le journal par défaut doit être sous
la source
où vous le voulez, si vous le définissez votre appel de fonction: error_log ($ errorMessageforLog. "\ n", 4, 'somePath / SomeFileName.som');
la source
Recherchez le fichier httpd.conf
ErrorLog
en exécutantcat <file location> | grep ErrorLog
sur la ligne de commande. Par exemple:Production:
Trouvez la ligne qui commence
ErrorLog
et voici votre réponse.Remarque: Pour les hôtes virtuels, vous pouvez modifier le fichier des hôtes virtuels
httpd-vhosts.conf
pour spécifier un emplacement de fichier journal différent.la source
Les journaux des erreurs cPanel se trouvent dans:
Par défaut, les journaux Apche se trouvent à l'intérieur:
ou
Si quelqu'un utilise un emplacement de journal personnalisé, vous pouvez le vérifier en exécutant cette commande:
Si vous obtenez une erreur indiquant que le répertoire apache2 n'existe pas, vous pouvez exécuter cette commande pour trouver l'emplacement correct en:
ou
la source
la source
Vous êtes sur un environnement de partage et ne pouvez pas trouver le journal des erreurs, vérifiez toujours si cPanel a l'option Erreurs sur votre tableau de bord cPanel. Si vous ne parvenez pas à trouver le journal des erreurs, vous pouvez le trouver ici.
Sur la barre de recherche de cPanel, recherchez Error, il affichera les pages d'erreur qui sont essentiellement des listes de différentes pages d'erreur http et d'autres erreurs où les journaux d'erreurs sont affichés.
Autres endroits où chercher sur un environnement partagé: / home / yourusername / logs / home / yourusername / public_html / error_log
la source
quelque chose comme ça :
ou
ou
la source
Wordpress
Wordpress dirigera les
error_log()
messages à/wp-content/debug.log
quandWP_DEBUG_LOG
est réglé sur true.Voir la documentation Wordpress pour WP_DEBUG_LOG
la source