PHP程序员必须知道的两种日志实例分析

 更新时间:2020年05月14日 10:49:10   作者:CrazyCodes  
这篇文章主要介绍了PHP程序员必须知道的两种日志,结合实例形式分析了php-fpm 慢日志及php-error 错误日志相关原理与使用技巧,需要的朋友可以参考下

本文实例讲述了PHP程序员必须知道的两种日志。分享给大家供大家参考,具体如下:

前言

作为一名程序员,比码代码还重要那么一点点的东西就是日志的分析和查询。下面列出常见日志及设置方法。

php-fpm 慢日志

php慢日志需要在php-fpm.conf设置,如果使用源码包安装默认请执行下面命令

cp php-fpm.conf.default php-fpm.conf

默认通过源码包编译安装php目录应在

/usr/local/php

目录下,如果你通过yum或者其他方式安装,不清楚或不知道php具体安装目录,可以使用

find / -name php-fpm.conf

or

php -i | grep Path
------------------------------------------
[root@xxxx etc]# php -i | grep Path
Configuration File (php.ini) Path => /usr/local/php/etc
XPath Support => enabled
Path to sendmail => /usr/sbin/sendmail -t -i
[root@xxxx etc]#

开启慢查询日志

旧的版本是在php-fpm.conf设置 (实际是我忘记了哪个版本),php7.x版本源码包编译后需要www.conf修改慢查询配置

vim /usr/local/php/etc/php-fpm.d/www.conf

不过配置项都一样的,如果你在php-fpm.conf找不到,就去他的同级目录php-fpm.d下面找下吧。

; The log file for slow requests
; Default Value: not set
; Note: slowlog is mandatory if request_slowlog_timeout is set
;slowlog = log/$pool.log.slow

; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_slowlog_timeout = 0
  • slowlog 设置慢查询日志的生成目录
  • request_slowlog_timeout 设置慢查询的标准时间(打开此配置就相当于开启了慢查询日志),配置以秒为单位,一般设置3s。

php-error 错误日志

在生产环境中是不允许php报错的,就算报错也是白屏或者500,所以在生产环境中的日志收集是非常重要的。

开启错误日志

一般情况下,php错误日志的配置都在php.ini文件中

/usr/local/php/etc/php.ini
---------------------------
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
log_errors = On
; Log errors to specified file. PHP's default behavior is to leave this value
; empty.
; http://php.net/error-log
; Example:
;error_log = php_errors.log
; Log errors to syslog (Event Log on Windows).
;error_log = syslog
  • error_log 错误日志的生成目录
  • error_reporting 生产环境错误级别应全开
  • display_errors 在页面上不显示错误
  • log_errors 开启错误日志

最终的结果是

error_log = /var/log/php_error.log
display_errors = Off
error_reporting = E_ALL
log_errors = On

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP日志操作技巧总结》、《php文件操作总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php中in_array函数用法探究

    php中in_array函数用法探究

    这篇文章主要介绍了php中in_array函数用法,对in_array函数参数匹配的用法进行了较为深入的探究,有助于较为全面的理解in_array函数的用法,需要的朋友可以参考下
    2014-11-11
  • php替换字符串中间字符为省略号的方法

    php替换字符串中间字符为省略号的方法

    这篇文章主要介绍了php替换字符串中间字符为省略号的方法,可实现将字符串中间部分替换成省略号的功能,适用于账号、手机号等敏感信息的部分隐藏,需要的朋友可以参考下
    2015-05-05
  • 详解WordPress中用于更新和获取用户选项数据的PHP函数

    详解WordPress中用于更新和获取用户选项数据的PHP函数

    这篇文章主要介绍了WordPress中用于更新和获取用户选项数据的PHP函数,分别为对update_user_option()函数和get_user_option()函数用法的讲解,需要的朋友可以参考下
    2016-03-03
  • php导入csv文件碰到乱码问题的解决方法

    php导入csv文件碰到乱码问题的解决方法

    这篇文章主要介绍了php导入csv文件碰到乱码问题的解决方法,需要的朋友可以参考下
    2014-02-02
  • php微信开发之自定义菜单实现

    php微信开发之自定义菜单实现

    这篇文章主要为大家详细介绍了php微信开发之自定义菜单实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • APACHE的AcceptPathInfo指令使用介绍

    APACHE的AcceptPathInfo指令使用介绍

    从APACH2.0.30以上服务器中去掉了acceptpathinfo;如果需要的话需要在http.conf中添加AcceptPathInfo On这一条
    2013-01-01
  • php进程通信之信号量浅析介绍

    php进程通信之信号量浅析介绍

    信号量又称为信号灯、旗语 用来解决进程(线程同步的问题),类似于一把锁,访问前获取锁(获取不到则等待),访问后释放锁,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 15种PHP Encoder的比较

    15种PHP Encoder的比较

    15种PHP Encoder的比较...
    2007-03-03
  • php中&&和||逻辑运算符的高级简写(缩写条件)用法由浅入深讲解

    php中&&和||逻辑运算符的高级简写(缩写条件)用法由浅入深讲解

    php中if进行多条件判断时,使用逻辑运算符&&和||(and和or),这样的写法很常见也很熟悉。&&和||还有高级简写(缩写条件)用法,比如单独一行中“条件A||条件B”进行了什么操作?本文将由浅入深详细讲解php中&&和||逻辑运算符的高级简写(缩写条件)用法。
    2022-11-11
  • linux下php上传文件注意事项

    linux下php上传文件注意事项

    这篇文章主要为大家详细介绍了linux下php上传文件注意事项,希望对大家安装php有所帮助,感兴趣的朋友可以参考一下
    2016-06-06

最新评论