php慢查询日志和错误日志使用详解


Posted in PHP onFebruary 27, 2021

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

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中文件上传的安全问题
Oct 09 PHP
php数组函数序列之array_keys() - 获取数组键名
Oct 30 PHP
PHP数组无限分级数据的层级化处理代码
Dec 29 PHP
通过php添加xml文档内容的方法
Jan 23 PHP
PHP实现清除MySQL死连接的方法
Jul 23 PHP
PHP合并数组的2种方法小结
Nov 24 PHP
php指定长度分割字符串str_split函数用法示例
Jan 30 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 PHP
PHP操作Postgresql封装类与应用完整实例
Apr 24 PHP
实例分析PHP将字符串转换成数字的方法
Jan 27 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 PHP
PHP与SQL语句写一句话木马总结
Oct 11 PHP
php的单例模式及应用场景详解
Feb 27 #PHP
PHP+Mysql分布式事务与解决方案深入理解
Feb 27 #PHP
PHP并发场景的三种解决方案代码实例
Feb 27 #PHP
常见的5个PHP编码小陋习以及优化实例讲解
Feb 27 #PHP
laravel数据库查询结果自动转数组修改实例
Feb 27 #PHP
PHP的垃圾回收机制代码实例讲解
Feb 27 #PHP
php命令行模式代码实例详解
Feb 26 #PHP
You might like
php 生成随机验证码图片代码
2010/02/08 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
node.js实现多图片上传实例
2014/06/03 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
Vue.js在数组中插入重复数据的实现代码
2017/11/17 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
javascript中call,apply,callee,caller用法实例分析
2019/07/24 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
ReactRouter的实现方法
2021/01/25 Javascript
[02:33]2018DOTA2亚洲邀请赛赛前采访——LGD
2018/04/04 DOTA
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
跟老齐学Python之再深点,更懂list
2014/09/20 Python
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
在Django的session中使用User对象的方法
2015/07/23 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
Python实现搜索算法的实例代码
2020/01/02 Python
python设置表格边框的具体方法
2020/07/17 Python
美国综合购物商城:UnbeatableSale.com
2018/11/28 全球购物
介绍一下gcc特性
2012/01/20 面试题
会计自荐书
2013/12/02 职场文书
演讲稿怎么写
2014/01/07 职场文书
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
村委会贫困证明范本
2014/09/17 职场文书
工作证明英文模板
2014/10/21 职场文书
2014年信用社工作总结
2014/11/25 职场文书
小学元宵节活动总结
2015/02/06 职场文书
毕业感言怎么写
2015/07/31 职场文书
小数乘法教学反思
2016/02/22 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
Pytest实现setup和teardown的详细使用详解
2021/04/17 Python
MySQL慢查询的坑
2021/04/28 MySQL
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL