PHP錯誤日誌記錄檔案位置的方法:1、通過模組載入的方式,程式碼爲【php程式中設定 > httpd.conf > php.ini中設定】;2、通過【CGI/fastCGI】模式,程式碼爲【ini_get("error_log")】。
PHP錯誤日誌記錄檔案位置的方法:
1、確定web伺服器 ( IIS, APACHE, NGINX 等) 以哪一種方式支援PHP,通常是有下面 下麪2種方式
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 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
如果php.ini中log_errors= On
,據官方的說法,那麼必須指定error_log
檔案,如果沒指定或者指定的檔案沒有許可權寫入,那麼照樣會輸出到正常的輸出渠道,那麼也就使得display_errors
這個指定的Off失效,錯誤資訊還是列印了出來。將log_errors = Off
就行了。
相關學習推薦:(視訊)
以上就是PHP錯誤日誌如何記錄檔案位置的詳細內容,更多請關注php中文網其它相關文章!