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中截取字符串支持utf-8
Jan 18 PHP
php木马webshell扫描器代码
Jan 25 PHP
php多文件上传实现代码
Feb 20 PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 PHP
php为字符串前后添加指定数量字符的方法
May 04 PHP
简单理解PHP的面向对象编程方式
May 17 PHP
PHP-CGI远程代码执行漏洞分析与防范
May 07 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
php实现有序数组旋转后寻找最小值方法
Sep 27 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
THINKPHP5.1 Config的配置与获取详解
Jun 08 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 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缓存技术的使用说明
2011/08/06 PHP
很让人受教的 提高php代码质量36计
2012/09/05 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
Yii安装与使用Excel扩展的方法
2016/07/13 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
jQuery前台数据获取实现代码
2011/03/16 Javascript
JQuery实现倒计时按钮的实现代码
2012/03/23 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
2012/10/11 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
Javascript字符串常用方法详解
2016/07/21 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
详解nodejs模板引擎制作
2017/06/14 NodeJs
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
vue+Element-ui实现分页效果
2020/11/15 Javascript
[01:05:52]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第一场 2月2日
2021/03/11 DOTA
Python中__call__用法实例
2014/08/29 Python
Python中标准模块importlib详解
2017/04/16 Python
django 解决manage.py migrate无效的问题
2018/05/27 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
Python字符串格式化f-string多种功能实现
2020/05/07 Python
英国家庭家具、照明和花园家具购物网站:Furniture123
2018/12/31 全球购物
校园新闻广播稿
2014/01/10 职场文书
《草原》教学反思
2014/02/15 职场文书
2014年圣诞节促销方案
2014/03/14 职场文书
买房协议书
2014/04/11 职场文书
九寨沟导游词
2015/02/02 职场文书
医院办公室主任岗位职责
2015/04/01 职场文书
2016新年晚会开场白
2015/12/03 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书
详解MySQL事务的隔离级别与MVCC
2021/04/22 MySQL
简单了解 MySQL 中相关的锁
2021/05/25 MySQL