phpオンライン環境オープンログモジュール

1988 ワード

最近開発プロジェクトでは、ログをオフにしてブラウザに表示されているため、オンラインで問題が発生した後、ログに基づいて細かくデバッグすることができませんでした.その後、ログを直接オンにして、生産環境のログをリアルタイムで印刷できることを調べました.方法は以下の通りです.
phpを変更します.ini
 error_reporting  =  E_ALL                   ;   PHP            
 display_errors = Off                        ;                         
 log_errors = On                             ;              
 log_errors_max_len = 1024                   ;               
 error_log = /usr/local/error.log                ;                     

" role="presentation" style="position: relative;">

Webサーバを再起動すればよい
これにより、PHPのスクリプトファイルを実行する場合、発生したすべてのエラーレポートはブラウザに表示されず、自分が指定したエラーログ/usr/local/errorに記録する.ロゴにあります.
注意事項
  • このファイルをドキュメントのルートディレクトリの外に保存して、攻撃の可能性を減らす必要があります.
  • このファイルは、PHPスクリプトの実行ユーザ(Webサーバプロセスの所有者)に書き込み権限を持たせる必要があります.
  • は、errorを満たすことを記録できる以外はReportingで定義されたルールのすべてのエラーは、PHPのerror_を使用することもできます.log()関数は、ユーザーがカスタマイズしたエラー情報を送信します.

  • error_log()の使用
    bool error_log ( string message [, int message_type  [, string destination [, string extra_headers]]] )  
    

    この関数は、Webサーバのエラーログファイル、TCPサーバ、または指定ファイルにエラーメッセージを送信します.この関数の実行に成功するとTRUEに戻り、失敗するとFALSEに戻る.最初のパラメータmessageは、送信するエラー情報である必須オプションです.このパラメータのみを使用すると、プロファイルphpに従います.iniで設定した場所でメッセージを送信します.2番目のパラメータmessage_typeは整数値:0はオペレーティングシステムに送られたログを表します.1 PHPのMail()関数を使用して、あるE-mailにメッセージを送信し、4番目のパラメータextra_headersも使用されます.2エラーメッセージをTCPサーバに送信する場合、3番目のパラメータdestinationは宛先IPおよびPortを示す.3ファイルdestinationに情報を保存します.この関数は、Oracleデータベースへのログインで問題が発生した場合に次のように使用されます.