您的位置 首页 php

PHP日志记录

背景

设置error_log记录PHP日志信息

 #将会向PHP报告发生的每个错误 
error_reporting  =  E_ALL
#关闭页面显示才能将错误回写到日志文件
display_errors = Off
#开启错误日志 
log_errors = On
#设置每个日志项的最大长度
log_errors_max_len = 1024 
#指定产生的错误
error_log = /var/php_errors.log 
  

不仅可以记录满足error_reporting所定义规则的所有错误,而且还可以使用PHP中的error_log()函数,送出一个用户自定义的错误信息。

 # 程序中修改以上配置
ini_set("display_errors",0)
ini_set("error_reporting",E_ALL); //这个值好像是个PHP的常量
ini_set("error_log","<日志文件名>")
ini_set("log_errors",1);  

php-fpm 错误日志

php-fpm只会记录php-fpm的错误信息

 #默认位置 安装目录下的 log/php-fpm.log  
error_log = log/php-fpm.log  
#错误级别 alert(必须立即处理), error(错误情况), warning(警告情况), notice(一般重要信息), debug(调试信息). 默认: notice.
log_level = notice
  

php-fpm慢日志(检查哪个脚本执行时间长)

 #设置慢日志的存放位置
slowlog = var/log/slow.log
#设置一个超时的参数
request_slowlog_timeout = 1s # 0则表示关闭
  

Nginx日志配置

作用域 : http, server, location, if in location, limit_except

 log_format compression '$remote_addr - $remote_user [$time_local] '
                       '"$request" $status $bytes_sent '
                       '"$http_referer" "$http_user_agent" "$gzip_ratio"';

access_log /spool/logs/nginx-access.log compression buffer=32k;  

如何解决nginx下php-fpm不记录php错误

  • Nginx是一个web服务器,access_log日志只有对访问页面的记录,不会有php 的 error_log信息。
  • Nginx服务器把对php的请求发给php-fpm fastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在php-fpm的errors log里也看不到php的errorlog,因为php-fpm的配置文件php-fpm.conf中默认是关闭worker进程的错误输出,直接把他们重定向到/dev/null,所以我们在nginx的error log 和php-fpm的errorlog都看不到php的错误日志。

文章来源:智云一二三科技

文章标题:PHP日志记录

文章地址:https://www.zhihuclub.com/78235.shtml

关于作者: 智云科技

热门文章

网站地图