在學習PHP的過程中,除了程式碼的學習,其中最重要的就要屬日誌的學習了,尤其對於日誌的分析與查詢學習。
身為程式設計師,比碼程式碼還重要那麼一點點的東西就是日誌的分析和查詢。以下列出常見日誌及設定方法。
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報錯的,就算報錯也是白屏或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
相關推薦:
Mysql中錯誤日誌、binlog日誌、查詢日誌、慢查詢日誌簡介#
以上是PHP中兩種日誌的設定方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!