PHP程式設計師必須知道的兩種日誌

CrazyCodes發表於2020-10-24

前言

作為一名程式設計師,比碼程式碼還重要那麼一點點的東西就是日誌的分析和查詢。下面列出常見日誌及設定方法。

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

致謝

感謝你看到這裡,日誌操作與分析的相關文章後面我還會寫一些,希望可以幫助到你。謝謝

程式碼多變,初心不變

相關文章