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生成EXCEL的东东
Oct 09 PHP
dedecms系统常用术语汇总
Apr 03 PHP
PHP中的integer类型使用分析
Jul 27 PHP
vs中通过剪切板循环来循环粘贴不同内容
Apr 30 PHP
解析thinkphp基本配置 convention.php
Jun 18 PHP
国外十大最流行的PHP框架排名
Jul 04 PHP
PHP 动态生成静态HTML页面示例代码
Jan 15 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
windows8.1下Apache+Php+MySQL配置步骤
Oct 30 PHP
PHP递归创建多级目录
Nov 05 PHP
PHP实现可自定义样式的分页类
Mar 29 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提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
提高php编程效率技巧
2015/08/13 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
PHP中的self关键字详解
2019/06/23 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019/10/11 PHP
JS 控件事件小结
2012/10/31 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
python基础教程之类class定义使用方法
2014/02/20 Python
Python实现从百度API获取天气的方法
2015/03/11 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
python抓取网页中链接的静态图片
2018/01/29 Python
python:print格式化输出到文件的实例
2018/05/14 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
办公室内勤岗位职责范本
2013/12/09 职场文书
会务接待方案
2014/02/27 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
网络营销计划书
2015/01/17 职场文书
承诺书范本大全
2015/05/04 职场文书
办公经费申请报告
2015/05/15 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
基于Java的MathML转图片的方法(示例代码)
2021/06/23 Java/Android
Node实现搜索框进行模糊查询
2021/06/28 Javascript
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers