Methods for the location of PHP error log files: 1. Through module loading, the code is [Configuration in php program>httpd.conf>Configuration in php.ini]; 2. Through [CGI/ fastCGI] mode, the code is [ini_get("error_log")].
How to locate the PHP error log file:
1. Determine the web server (IIS, APACHE, NGINX etc.) In which way to support PHP, there are usually the following two ways
2. Through module loading
php程序中配置 > httpd.conf > php.ini中配置
3. Through CGI /fastCGI mode
php程序中配置 > php.ini中配置 ini_get("error_reporting"); ini_get("log_errors"); ini_get("error_log");
Output:
'22527' '1' '/usr/local/php7.2.0/var/log/php_errors.log' 如果log_errors = On
/usr/local/php7.2.0/var/log/php_errors.log
The file does not exist or cannot be created, write Enter, the php error log is written to the file specified by the apache ErrorLog directive
[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
If log_errors= On
in php.ini, according to the official statement, then error_log## must be specified #File, if it is not specified or the specified file does not have permission to write, it will still be output to the normal output channel, which will make
display_errors the specified Off invalid, and the error message will still be printed. Just set
log_errors = Off.
Related learning recommendations:php programming (video)
The above is the detailed content of How PHP error log records file location. For more information, please follow other related articles on the PHP Chinese website!