在學習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 PathConfiguration File (php.ini) Path => /usr/local/php/etcXPath Support => enabledPath 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
php-error 錯誤記錄檔
在生產環境中是不允許php報錯的,就算報錯也是白屏或者500,所以在生產環境中的日誌收集是非常重要的。
開啟錯誤記錄檔
一般情況下,php錯誤記錄檔的配置都在php.ini檔案中
/usr/local/php/etc/php.ini---------------------------error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICTdisplay_errors = Offlog_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 = /var/log/php_error.logdisplay_errors = Offerror_reporting = E_ALLlog_errors = On