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 相关文章推荐
php桌面中心(四) 数据显示
Mar 11 PHP
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
Mar 29 PHP
PHP 中英文混合排版中处理字符串常用的函数
Apr 12 PHP
php共享内存段示例分享
Jan 20 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
PHP中的switch语句的用法实例详解
Oct 21 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
PHP中函数gzuncompress无法使用的解决方法
Mar 02 PHP
php数组和链表的区别总结
Sep 20 PHP
PHP开发api接口安全验证操作实例详解
Mar 26 PHP
php优化查询foreach代码实例讲解
Mar 24 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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
php 小乘法表实现代码
2009/07/16 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
2016/03/07 PHP
php之可变变量的实例详解
2017/09/12 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
2017/03/29 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
2019/05/29 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
vue导入.md文件的步骤(markdown转HTML)
2020/12/31 Vue.js
Python常用正则表达式符号浅析
2014/08/13 Python
Python调用微信公众平台接口操作示例
2017/07/08 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
如何对python的字典进行排序
2020/06/19 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
洛杉矶生活休闲而精致的基础品牌:Mika Jaymes
2018/01/07 全球购物
银行实习自我鉴定
2013/10/12 职场文书
银行业务授权委托书
2014/10/10 职场文书
领导欢迎词范文
2015/01/26 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
毕业答辩开场白范文
2015/05/27 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
节约用水广告语60条
2019/11/14 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers
python三子棋游戏
2022/05/04 Python