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 相关文章推荐
function.inc.php超越php
Dec 09 PHP
php实现mysql数据库备份类
Mar 20 PHP
一个PHP的String类代码
Apr 20 PHP
php基础教程 php内置函数实例教程
Aug 21 PHP
PHP页面实现定时跳转的方法
Oct 31 PHP
PHP获取当前完整URL地址的函数
Dec 21 PHP
php从memcache读取数据再批量写入mysql的方法
Dec 29 PHP
Smarty简单生成表单元素的方法示例
May 23 PHP
浅谈php和js中json的编码和解码
Oct 24 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
PHP实现生成推广海报的方法详解
Mar 14 PHP
PHP实现简单的协程任务调度demo示例
Feb 01 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
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
深入理解 TypeScript Reflect Metadata
2019/12/12 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
js实现车辆管理系统
2020/08/26 Javascript
Python工程师面试题 与Python Web相关
2016/01/14 Python
浅谈编码,解码,乱码的问题
2016/12/30 Python
django实现用户登陆功能详解
2017/12/11 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
Python中的单继承与多继承实例分析
2018/05/10 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
python脚本第一行如何写
2020/08/30 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
英国在线定制百叶窗网站:Swift Direct Blinds
2020/02/25 全球购物
心得体会范文
2014/01/04 职场文书
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
工程师岗位职责规定
2014/02/26 职场文书
《小鹰学飞》教学反思
2014/04/23 职场文书
提拔干部考察材料
2014/05/26 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
师德师风事迹材料
2014/12/20 职场文书
贫困生助学金感谢信
2015/01/21 职场文书
消防安全培训工作总结
2015/10/23 职场文书