Home  >  Article  >  Backend Development  >  How to set up two logs in PHP

How to set up two logs in PHP

不言
不言Original
2018-07-18 09:59:128537browse

In the process of learning PHP, in addition to the learning of code, the most important thing is the learning of logs, especially the analysis and query learning of logs.

Preface

As a programmer, something a little more important than coding is log analysis and query. Common logs and setting methods are listed below.

php-fpm slow log

php slow log needs to be set in php-fpm.conf. If you use the source package to install by default, please execute the following command

cp php-fpm.conf.default php-fpm.conf

The default is through the source package The directory for compiling and installing PHP should be under the

/usr/local/php

directory. If you install through yum or other methods and do not know or do not know the specific PHP installation directory, you can use

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]#

Enable slow query log

The old version is set in php-fpm.conf (actually I forgot which version). After compiling the php7.x version source code package, you need to modify the slow query configuration in www.conf

vim /usr/local/php/etc/php-fpm.d/www.conf

But the configuration items are the same. If you can’t find it in php-fpm.conf, go to its sibling directory php-fpm.d and look for it.

; 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 Set the slow query log generation directory

  • request_slowlog_timeout Set the standard time for slow query (turning on this configuration is equivalent to turning on slow query) Query log), the configuration is in seconds, generally set to 3s.

php-error error log

In the production environment, php is not allowed to report errors. Even if the error is reported, it will be a white screen or 500, so log collection in the production environment is very important.

Enable error log

Generally, the configuration of php error log is in the php.ini file

/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 log generation directory

  • error_reporting The production environment error level should be fully turned on

  • display_errors Do not display errors on the page

  • log_errors Turn on the error log

The final result is

error_log = /var/log/php_error.log
display_errors = Off
error_reporting = E_ALL
log_errors = On

Related recommendations:

PHP writing log function, php log function

Introduction to error logs, binlog logs, query logs, and slow query logs in Mysql

The above is the detailed content of How to set up two logs in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn