专栏首页Grace developmentPHP程序员必须知道的两种日志

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

致谢

感谢你看到这里,日志操作与分析的相关文章后面我还会写一些,希望可以帮助到你。谢谢

代码多变,初心不变

最后修改:2个月前 2018-07-17

© 著作权归作者所有

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 来!狂撸一款PHP现代化框架 (准备工作)

    从本章开始,我们继续造轮子,去完成一款类似于Laravel的现代化PHP框架,为什么说是现代化?因为他必须具备一下几点 – 遵守PSR-4编码规范 – 使用...

    CrazyCodes
  • Swoole难上手?从EasySwoole开始

    大家好,我是CrazyCodes,我没有消失,最近在准备考试,所以文章出的比较慢,请见谅

    CrazyCodes
  • 用MAC还安装集成环境可就OUT喽

    大家好,我是CrazyCodes,今天聊聊为什么在MAC上,我不安装类似XAMPP或者Laravel的Homestead的集成开发环境

    CrazyCodes
  • php日志函数error_log用法实例分析

    本文实例讲述了php日志函数error_log用法。分享给大家供大家参考,具体如下:

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

    作为一名程序员,比码代码还重要那么一点点的东西就是日志的分析和查询。下面列出常见日志及设置方法。

    砸漏
  • emlog评论添加表情教程

    Youngxj
  • linux学习第四十二篇:限定某个目录禁止解析php, 限制user_agent,PHP相关配置

    限定某个目录禁止解析php 虚拟主机配置文件添加的核心配置内容: <Directory /data/wwwroot/111.com/upload> ...

    用户1215343
  • php实现tcp服务器

    经过了一个半月的研究,终于将php多进程,和tcp方面研究通了,这篇文章主要讲解一下我了解到的知识点

    仙士可
  • 如何将wordpress的the_title()进行大小写处理

      有时我们在做wordpress网站时需要将标题的大写字母改成小写字母或小写字母转为大写字母方便调用,那么要如何改造呢?我们知道Wordpress the_t...

    ytkah
  • php web环境和命令行环境下查找php.ini的位置

    php.ini 是php运行的配置文件,不是一个必须使用的文件。不过通常php程序运行都需要加载php.ini文件。 php.ini 提供了一些重要的参数。比如...

    砸漏

扫码关注云+社区

领取腾讯云代金券