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


Posted in PHP onMay 14, 2020

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

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 相关文章推荐
网络资源
Oct 09 PHP
晋城吧对DiscuzX进行的前端优化要点
Sep 05 PHP
PHP flock 文件锁详细介绍
Dec 29 PHP
php实现的百度搜索某地天气的小偷代码
Apr 23 PHP
php上传文件问题汇总
Jan 30 PHP
cakephp打印sql语句的方法
Feb 13 PHP
php中header跳转使用include包含解决参数丢失问题
May 08 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
Dec 25 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 PHP
PHP面向对象学习之parent::关键字
Jan 18 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 PHP
laravel框架 api自定义全局异常处理方法
Oct 11 PHP
Laravel框架集合用法实例浅析
May 14 #PHP
Laravel框架源码解析之模型Model原理与用法解析
May 14 #PHP
Laravel框架源码解析之入口文件原理分析
May 14 #PHP
Laravel框架源码解析之反射的使用详解
May 14 #PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 #PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
May 12 #PHP
php中用unset销毁变量并释放内存
May 10 #PHP
You might like
也谈 PHP 和 MYSQL
2006/10/09 PHP
PHP4实际应用经验篇(4)
2006/10/09 PHP
加强版phplib的DB类
2008/03/31 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
jquery.qrcode在线生成二维码使用示例
2013/08/21 Javascript
js中substring和substr的定义和用法
2014/05/05 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
ionic隐藏tabs的方法
2016/08/29 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
关于前后端json数据的发送与接收详解
2017/07/30 Javascript
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
python zip文件 压缩
2008/12/24 Python
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
AUC计算方法与Python实现代码
2020/02/28 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
Python内置函数property()如何使用
2020/09/01 Python
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
介绍一下grep命令的使用
2012/06/28 面试题
幼儿师范毕业生自荐信
2013/11/09 职场文书
资料员岗位职责
2013/11/17 职场文书
医学专业五年以上个人求职信
2013/12/03 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
低碳环保倡议书
2014/04/14 职场文书
《鸟岛》教学反思
2014/04/26 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
活动新闻稿范文
2015/07/17 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript