
正文
PHP错误日志记录文件位置确定
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1、确定web服务器 ( IIS, APACHE, NGINX 等) 以哪一种方式支持PHP,通常是有下面2种方式
通过模块加载的方式, 适用于apache

通过 CGI/fastCGI 模式, 该模式一般web服务器都是支持的

2、通过模块加载的方式
php程序中配置 > httpd.conf > php.ini中配置
3、通过 CGI/fastCGI 模式
php程序中配置 > php.ini中配置
ini_get("error_reporting");ini_get("log_errors");ini_get("error_log");
输出:
'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文件不存在,或无法创建,写入,则php错误日志写到apache ErrorLog指令指定的文件
[liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ sudo ps -ef |grep httpd
apache : ? :: /usr/local/httpd-2.4./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:: ServerName .aspire-he-admin[liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ sudo vim + /usr/local/httpd-2.4./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/----he-admin_error.log
[Wed Mar ::01.194757 ] [php7:error] [pid ] [client 127.0.0.1:] PHP Fatal error: Uncaught Error: Call to undefined method VersionManage::getDb1() in /home/d139/var/aspire-he-admin/module/VersionManage.class.php:\nStack trace:\n# /home/d139/var/aspire-he-admin/webroot/api.php(): VersionManage::getTxlVersionUpgradeStatus(Array)\n# {main}\n thrown in /home/d139/var/aspire-he-admin/module/VersionManage.class.php on line
如果php.ini中log_errors= On,据官方的说法,那么必须指定error_log文件,如果没指定或者指定的文件没有权限写入,那么照样会输出到正常的输出渠道,那么也就使得display_errors 这个指定的Off失效,错误信息还是打印了出来。将log_errors = Off就行了。








