Home  >  Article  >  Backend Development  >  How PHP error log records file location

How PHP error log records file location

coldplay.xixi
coldplay.xixiOriginal
2020-08-10 10:25:462837browse

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 PHP error log records file location

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

How PHP error log records file location

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.logThe 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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn