ホームページ >バックエンド開発 >PHPチュートリアル >PHPで2つのログを設定する方法

PHPで2つのログを設定する方法

不言
不言オリジナル
2018-07-18 09:59:128621ブラウズ

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

または

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 スロー クエリの標準時間を設定します (この設定をオンにすることは、低速クエリ) クエリ ログ)、構成は秒単位で、通常は 3 秒に設定されます。

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
関連する推奨事項:

PHP のログ関数の書き込み、php log 関数

Mysql のエラー ログ、binlog ログ、クエリ ログ、スロー クエリ ログの概要

以上がPHPで2つのログを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。