Maison  >  Article  >  développement back-end  >  Comment le journal des erreurs PHP enregistre l'emplacement du fichier

Comment le journal des erreurs PHP enregistre l'emplacement du fichier

coldplay.xixi
coldplay.xixioriginal
2020-08-10 10:25:462821parcourir

Comment localiser le fichier journal des erreurs PHP : 1. Lors du chargement du module, le code est [Configuration dans le programme php>httpd.conf>Configuration dans php.ini] 2. Via le mode [CGI/ fastCGI] ; , le code est [ini_get("error_log")].

Comment le journal des erreurs PHP enregistre l'emplacement du fichier

Comment localiser le fichier journal des erreurs PHP :

Déterminez le serveur Web (IIS, APACHE, NGINX etc.) Pour prendre en charge PHP, il existe généralement les deux manières suivantes

Comment le journal des erreurs PHP enregistre lemplacement du fichier

2. Via le chargement du module

php程序中配置 > httpd.conf > php.ini中配置

3. Via CGI / mode fastCGI

php程序中配置 > php.ini中配置    
ini_get("error_reporting");
ini_get("log_errors");
ini_get("error_log");

Sortie :

'22527'
'1'
'/usr/local/php7.2.0/var/log/php_errors.log'
如果log_errors = On

/usr/local/php7.2.0/var/log/php_errors.logLe fichier n'existe pas, ou ne peut pas être créé ou écrit, alors le journal des erreurs php est écrit dans le fichier spécifié par la directive Apache ErrorLog

[liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ sudo ps -ef |grep httpd
apache     670  2501  0 11:24 ?        00:00:00 /usr/local/httpd-2.4.20/bin/httpd -k graceful
[liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ cd /usr/local/httpd-2.4.20/conf/conf.d
[liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ sudo grep -anR --color '1.aspire-he-admin' ./
./aspire_he_admin.conf:29:    ServerName 1.aspire-he-admin
[liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ sudo vim +29 /usr/local/httpd-2.4.20/conf/conf.d/aspire_he_admin.conf
<VirtualHost *:80>
    DocumentRoot "/home/d139/var/aspire-he-admin/webroot/"
    ServerName 1.aspire-he-admin
    SetEnv SERVER_ENVERONMENT_PARAM 2
    DirectoryIndex index.php index.html
    php_value post_max_size 100M
    CustomLog "| /usr/sbin/cronolog /home/d139/logs/%Y-%m-%d-%H-he-admin_access.log" combined
    ErrorLog  "| /usr/sbin/cronolog /home/d139/logs/%Y-%m-%d-%H-he-admin_error.log"
</VirtualHost>
[liuchao@GD-NT-0911QAR1CF_vm1-19.32 module]$ sudo tail -f /home/d139/logs/2019-03-13-10-he-admin_error.log
[Wed Mar 13 10:02:01.194757 2019] [php7:error] [pid 17673] [client 127.0.0.1:50312] 
PHP Fatal error:  Uncaught Error: Call to undefined method VersionManage::
getDb1() in /home/d139/var/aspire-he-admin/module/VersionManage.class.php:82\nStack trace:\n#0 /home/d139/var/aspire-he-admin/webroot/api.php(37): 
VersionManage::getTxlVersionUpgradeStatus(Array)\n#1 {main}\n  thrown in /home/d139/var/aspire-he-admin/module/VersionManage.class.php on line 82

S'il y a log_errors= On dans php.ini, selon la déclaration officielle, alors le fichier error_log doit être spécifié. S'il n'est pas spécifié ou si le fichier spécifié n'a pas l'autorisation d'écrire, il sera toujours émis sur le canal de sortie normal, ce qui signifie display_errorsLe paramètre Off spécifié n'est pas valide et le message d'erreur est toujours imprimé. Changez simplement log_errors = Off.

Recommandations d'apprentissage associées : programmation php (vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn